forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Вопрос-Ответ (для новичков) (http://forum.boolean.name/showthread.php?t=7886)

RlexGm 26.06.2010 10:33

Ответ: Вопрос-Ответ (для новичков)
 
а может кто нибудь выложить пример с поста N6 http://forum.boolean.name/showthread... %E0%ED%E8%E5 от MoKa , а то тема трёхлетней давности, не хочу ее трогать:-D
Там ответ на мой вопрос...

RlexGm 27.06.2010 12:25

Ответ: Вопрос-Ответ (для новичков)
 
сори за повторное сообщение
Почему у меня может столкновение pvtpl1 равна 0, вот код:
Создаём:
Код:

Global Player=CreatePivot()
EntityType Player,TypePlayer
EntityRadius Player,80,300

Camera=CreateCamera()
CameraRange Camera,1,15000
EntityParent Camera,Player
MoveEntity Camera,0,150,0


Global pvtpl1=CreatezPivot()
EntityType pvtpl1,TypePlayer
EntityRadius pvtpl1,2,2



Global pvtpl2=CreatePivot()
EntityType pvtpl2,TypePlayer
EntityRadius pvtpl1,2,2

Код:

XplayerPl=EntityX(player)
YPlayerPl=EntityY(player)
ZplayerPl=EntityZ(Player)

Ypvtpl1=YPlayerPl-150
Ypvtpl2=YPlayerPl+150


PositionEntity pvtpl1,XplayerPl,Ypvtpl1,ZplayerPl
PositionEntity pvtpl2,XplayerPl,Ypvtpl2,ZplayerPl

как я и сказал выше, колизия с pvtpl1 постоянна равна нулю.Помогите плз

is.SarCasm 27.06.2010 13:05

Ответ: Вопрос-Ответ (для новичков)
 
Пивоты не колизятся

RlexGm 27.06.2010 17:32

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Igorian (Сообщение 151647)
Пивоты не колизятся

Да ты что?Правда что ли?Что же тогда player колизится?Пивоты с радиусом колизятся

tormoz 27.06.2010 21:55

Ответ: Вопрос-Ответ (для новичков)
 
А с чего они должны коллизится то ?
Ты их сначала размести в разных точках, потом назнач тип, а потом уже двигай, и будет тебе коллизия.
А то позиционируешь их в каких то непонятных координатах и чего то ждешь :)
И где команда Collisions ?
Да, и уменьши масштаб раз в 15

psih1 29.06.2010 17:37

Ответ: Вопрос-Ответ (для новичков)
 
Вложений: 1
Нашел пример браузера на блитз ток вот что то не робит

is.SarCasm 29.06.2010 17:42

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Нашел пример браузера на блитз ток вот что то не робит
Это сообщение есть вопрос = False
Это сообщение есть ответ = False
Это сообщение содержит что то полезное = False
Это флуд?
P.S. Там я явно не хватает инклуда или библ

Мик Данди 29.06.2010 21:33

Ответ: Вопрос-Ответ (для новичков)
 
написал сначала не в той теме, но думаю что меня простят. У меня такой вопрос как прописать путь к файлу без указания диска и если этот файл лежит в папке,которая лежит вместе с исходником. Версия блица 1.96 . И еще один вопрос:можно ли проверять столкновения объектов по их типам? Зарание благодарен.

Hurrit 29.06.2010 21:43

Ответ: Вопрос-Ответ (для новичков)
 
Ответ на первый вопрос таков:
К примеру, хочешь ты открыть картинку которая лежит в папке images, то пишешь так:
image=LoadImage("images\img.png")
Ответ на второй вопрос: не совсем понял вопрос.

Мик Данди 29.06.2010 22:01

Ответ: Вопрос-Ответ (для новичков)
 
с первым вопросом помогло, спасибо. Про второй. К примеру я делаю весь уровень в 3д максе, но к примеру там будут ещё какие нибудь модели, а прыжок у меня может только при коллизии с уровнем может происходить, так вот я хочу узнать можно ли проверять коллизии по типу объекта. Чтобы прыжок был не только на модели уровня но и на катящейся платформе, к примеру.

Hurrit 29.06.2010 22:11

Ответ: Вопрос-Ответ (для новичков)
 
то есть узнать на чем ты щас находишься? если это, то да!

Мик Данди 30.06.2010 09:24

Ответ: Вопрос-Ответ (для новичков)
 
да, но как сделать это? Или мне писать для каждой энтити If EntityCollided, а можно сделать чтобы проверять это по типу энтити?

is.SarCasm 30.06.2010 09:51

Ответ: Вопрос-Ответ (для новичков)
 
Тебе помогут команды:

EntityCollided ( entity,type )
Описание
Возвращает указатель объекта, имеющего данный тип столкновений, который столкнулся с указанным объектом.


GetEntityType ( entity )

Описание
Возвращает указатель объекта, имеющего данный тип столкновений, который столкнулся с указанным объектом.

RlexGm 01.07.2010 13:25

Ответ: Вопрос-Ответ (для новичков)
 
я хочу вернуться к старому вопросу:
Цитата:

Сообщение от EaNub (Сообщение 150775)
А как можно сделать так, чтобы игрок сам отличал пол от стен, то есть что бы не нужно было их в разные типы пихать, а например если столкнулся с полом то работают прыжки и т.д.

как же?

Цитата:

Сообщение от EaNub (Сообщение 150844)
Пробовал вот так:
Код:

If EntityPick (wlk,3)>0
Gravity=0
Else
Gravity=1
EndIf

Объекты нужные поставил EntityPickMode , но команда не срабатывает, Gravity постоянно равен 1.

Функция почему то нечего не возращает, пивот поставил в нужное место...

Цитата:

Сообщение от tormoz (Сообщение 150837)
CollisionNX

CollisionNY

CollisionNZ

К сожелению это не подходит, т.к. гравитация возникает тоже при сталкивании с потолком...

Dream 01.07.2010 14:13

Ответ: Вопрос-Ответ (для новичков)
 
if(CollisionNY<=0 )
Gravity=1
endif

Zer0n 01.07.2010 15:14

Ответ: Вопрос-Ответ (для новичков)
 
При помощи EntityCollided сравнивать координаты объектов и делать то, что нужно.

RlexGm 01.07.2010 15:19

Ответ: Вопрос-Ответ (для новичков)
 
вначале бы вроде всё прекрасно...
Код:


For i=1 To CountCollisions(player)
If CollisionEntity( player,i )
cy#=CollisionNY( player,i)
If cy#<=0
Gravity=0
Else
Gravity=1
EndIf
EndIf
Next

но когда прыгаеш, гравитация срабатывает только когда столкнёшся с потолком, а иногда и вовсе прилипаешь к потолку.:(

tormoz 01.07.2010 15:42

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от EaNub (Сообщение 152398)
вначале бы вроде всё прекрасно...
Код:


For i=1 To CountCollisions(player)
If CollisionEntity( player,i )
cy#=CollisionNY( player,i)
If cy#<=0
Gravity=0
Else
Gravity=1
EndIf
EndIf
Next

но когда прыгаеш, гравитация срабатывает только когда столкнёшся с потолком, а иногда и вовсе прилипаешь к потолку.:(

Код:


For i=1 To CountCollisions(player)
If CollisionEntity( player,i )
cy#=CollisionNY( player,i)
If cy#<=0
Gravity=0
EndIf
Else
Gravity=1
EndIf
Next


RlexGm 02.07.2010 10:28

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от tormoz (Сообщение 152400)
Код:


For i=1 To CountCollisions(player)
If CollisionEntity( player,i )
cy#=CollisionNY( player,i)
If cy#<=0
Gravity=0
EndIf
Else
Gravity=1
EndIf
Next


не помогло:(

Dream 02.07.2010 12:45

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

CollisionN*
вроде как возращает нормально с столкнувшейся плоскостью. если CollisionNY=-1 это значит что плоскость направлена вниз, тоесть игрок скорее всего стукнулся в неё головой.

Kolobok 02.07.2010 16:37

Ответ: Вопрос-Ответ (для новичков)
 
Я написал код, в котором один объект привязывается к другому и третий к другому... Но если я буду изменять размеры ScaleEntity, то изменяются размеры всех объектов привязанных к объекту, вместо самого объекта...

А как изменить размеры Player`a "нормально"?
Помогите плиз :) Вот код:
Код:

Graphics3D 640, 480, 32, 2
SetBuffer BackBuffer()

Const TypePlayer=1,TypeWall=2

light = CreateLight()
TurnEntity light,45,60,0

wall = CreateCube()
PositionEntity wall, 0, 0, 5
EntityColor wall,255,0,0
EntityType wall,TypeWall

player = CreateCube()
EntityColor player,0,255,0
EntityType player,TypePlayer
ScaleEntity player,2,1,1

sph = CreateSphere(8, player)
PositionEntity sph,0,1,0
EntityColor sph,0,100,0

cam = CreateCamera(sph)
PositionEntity cam,0,2,-7

Collisions TypePlayer,TypeWall,2,3

Repeat

        If KeyDown(17) MoveEntity player,0,0,.1
        If KeyDown(30) TurnEntity player,0,2,0
        If KeyDown(31) MoveEntity player,0,0,-.1
        If KeyDown(32) TurnEntity player,0,-2,0

UpdateWorld
RenderWorld

Flip

Until KeyHit(1)
End


is.SarCasm 02.07.2010 16:53

Ответ: Вопрос-Ответ (для новичков)
 
Отвязать
Проскейлить
Привязать

Reks888 02.07.2010 17:01

Ответ: Вопрос-Ответ (для новичков)
 
И в следующий раз хотя бы компилируй код перед тем как ложить его на форум:
Цитата:

sph = CreateSphere(8, player)
PositionEntity shp,0,1,0
Намекает на то что ты и не пытался его исправить, а просто выложил на форум чтобы кто-то за тебя сделал

tormoz 02.07.2010 17:28

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от EaNub (Сообщение 152485)
не помогло:(

А что ваще должно происходить ?
ИМХО ты недопонимаешь логики
Если у тебя гравити - это флаг запрета прыжка, то ты непрально ваще логику построил
надо как-то так:

Код:

Gravity=1; Запрещаем прыжок

For i=1 To CountCollisions(player)
If CollisionEntity( player,i )
cy#=CollisionNY( player,i)
If cy#>0
Gravity=0; Контакт с полом есть, разрешаем прыжок
EndIf
EndIf
Next


Kolobok 02.07.2010 17:55

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Reks888 (Сообщение 152509)
И в следующий раз хотя бы компилируй код перед тем как ложить его на форум:
Намекает на то что ты и не пытался его исправить, а просто выложил на форум чтобы кто-то за тебя сделал

Это я когда сюда выкладывал уменьшал код и увидел что написал переменную shp (shape) вместо sph (sphere). Вот и пытался исправить...
Могу весь код для доказательства выложить :)

Igorian, А как привязывать, отвязывать объекты? Я в этом новичок :(

St_AnGer 02.07.2010 18:05

Ответ: Вопрос-Ответ (для новичков)
 
EntityParent entity, parent на сколько я помню позволяет привязывать и отвязывать объекты. Читай справку по команде, Kolobok

ЗЫ: есть ещё вроде бы команда ParentEntity, помоему позволяет узнать родителя определённого объекта.

RlexGm 02.07.2010 18:49

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от tormoz (Сообщение 152514)
А что ваще должно происходить ?
ИМХО ты недопонимаешь логики
Если у тебя гравити - это флаг запрета прыжка, то ты непрально ваще логику построил
надо как-то так:

Код:

Gravity=1; Запрещаем прыжок

For i=1 To CountCollisions(player)
If CollisionEntity( player,i )
cy#=CollisionNY( player,i)
If cy#>0
Gravity=0; Контакт с полом есть, разрешаем прыжок
EndIf
EndIf
Next


впринцепи то всё то, но у меня не только нужно разрешить прыжок, дело в том что у меня гравитация с ускорением и поэтому переменая которая вписывается в TranslateEntity при Gravity=0 равна 0, нужно чтобы при прыжке срабатывала гравитация,а при
If cy#<=0 Or CountCollisions(player)=False
Gravity=1
EndIf
или при использовании Else гравитация включается только когда достигаешь потолка

tormoz 02.07.2010 19:08

Ответ: Вопрос-Ответ (для новичков)
 
Неправильная логика
гравитация должна действовать постоянно, а вот прыжок разрешать только когда стоишь на полу

RlexGm 02.07.2010 19:19

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от tormoz (Сообщение 152532)
Неправильная логика
гравитация должна действовать постоянно, а вот прыжок разрешать только когда стоишь на полу

Даже если так, но если условие не выполняется, то Gravity должно возращать 1 иначе например наступил на что нибудь горизонтальное и начал куда нибудь падать... нажал пробел(или что то еще) и невероятно подлетел вверх.:)

Dream 02.07.2010 19:43

Ответ: Вопрос-Ответ (для новичков)
 
ещё раз, если CollisionNY<=0значит или плоскость вертикальная, или она развернута вниз головой, тоесть находится над игроком. в этом случае гравитация должна работать.
Лучшый вариан- держать переменную для ускорения от гравитации, и если CollisionNY>0 значит юзер стоит на плоскости. и переменную гравитации обнуляем. но каждый цикл всёравно добавляем к этой переменной силу гравитации.
если CollisionNY>0 тогда прыгать можно.

Kolobok 03.07.2010 20:33

Ответ: Вопрос-Ответ (для новичков)
 
Вложений: 1
А как можно сделать эффект обводки фиуры? :)

Я нашёл такой способ, но он не очень хороший... Цвет фигуры меняется...
Код:

shape = CreateSphere()
EntityColor shape,255,255,0

border = CreateSphere(8,shape)
EntityAlpha border,.3
EntityColor border,255,0,0
ScaleEntity border,1.1,1.1,1.1

Чтож остаётся только спрайт прилепить?

Вот как на картинке хочу )

Dream 03.07.2010 20:37

Ответ: Вопрос-Ответ (для новичков)
 
создать ещё один такой мешь, увеличить его, сделать Flip, покрасить в чёрный цвет и немного прозрачности)

Kolobok 03.07.2010 21:24

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Dream (Сообщение 152729)
создать ещё один такой мешь, увеличить его, сделать Flip, покрасить в чёрный цвет и немного прозрачности)

Хы от радости нажал "Спасибо" )
Яж привёл выше тотже код! Получается что цвет фигуры, которая поверх главной фигуры, накладывается на цвет главной фигуры. И жёлтый уже не жёлый, а жёлто-красный.

Вопрос не решен! )

Dream 03.07.2010 21:36

Ответ: Вопрос-Ответ (для новичков)
 
сделать флип! читай внимательно

pax 03.07.2010 22:06

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Dream (Сообщение 152729)
создать ещё один такой мешь, увеличить его, сделать Flip, покрасить в чёрный цвет и немного прозрачности)

Просто увеличить подойдет для шарика, но не подойдет для сложной геометрии. Более верный вариант - скопировать меш повершинно и каждую вершину сдвинуть в сторону нормали на величину обводки. И поменять знак у составляющих нормали (Flip). Такой вариант правда может не подойти для некоторой геометрии, например для кубика т.к. в углах будут видны расслоения граней, но зато для органической модели создаст "правильную" обводку.

Лучший вариант - заготовить модель для обводки в 3d пакете.

Kolobok 03.07.2010 22:10

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Dream (Сообщение 152738)
сделать флип! читай внимательно

Не знаю о чём ты, вот мой полный код (и флип, я его везде пишу в 3д):
Код:

Graphics3D 800, 600, 32, 2
SetBuffer BackBuffer()

light = CreateLight()
RotateEntity light, 35,20,0

shape = CreateSphere()
EntityColor shape,255,255,0

border = CreateSphere(8,shape)
EntityAlpha border,.3
EntityColor border,255,0,0
ScaleEntity border,1.1,1.1,1.1

cam = CreateCamera(shape)
PositionEntity cam,0,3,-6
RotateEntity cam,10,0,0

While Not KeyHit(1)       

        UpdateWorld       
        RenderWorld

        Flip

Wend


Dream 03.07.2010 22:11

Ответ: Вопрос-Ответ (для новичков)
 
уффффффф... FlipMesh!!!!

Цитата:

Сообщение от pax (Сообщение 152752)
Просто увеличить подойдет для шарика, но не подойдет для сложной геометрии. Более верный вариант - скопировать меш повершинно и каждую вершину сдвинуть в сторону нормали на величину обводки. И поменять знак у составляющих нормали (Flip). Такой вариант правда может не подойти для некоторой геометрии, например для кубика т.к. в углах будут видны расслоения граней, но зато для органической модели создаст "правильную" обводку.

Лучший вариант - заготовить модель для обводки в 3d пакете.

да, для того чтобы на моделях ыбло номарльно, нужно будет в редакторе позицинировать центр модели по цетру координат, иначе будут косяки.

Knightmare 03.07.2010 22:15

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

И поменять знак у составляющих нормали (Flip)
Эээ, FlipMesh() меняет местами 1 и 3 индексы в треугольниках. В результате видимой становится другая грань треугольника (инвертируется нормаль считаемая как cross(v1 - v0, v2 - v0) и используемая в backface culling). Такой метод обводки использовался фиг знает с каких времен. А то что ты написал займет в стопицот раз больше времени, да и результат получится хуже.

Hurrit 03.07.2010 22:25

Ответ: Вопрос-Ответ (для новичков)
 
Алсо, этот вариант отрисовывает в два раза больше вертексов. Самый правильный вариант - использовать шейдер. Как этот эффект называется забыл, но знаю что он широко применяется в аниме играх

Kolobok 03.07.2010 22:39

Ответ: Вопрос-Ответ (для новичков)
 
Во FlipMesh() - то что хотел :)
Яж не буду использовать загогулины ) Так что и это пойдёт.

Dream 03.07.2010 22:51

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Hurrit (Сообщение 152767)
Алсо, этот вариант отрисовывает в два раза больше вертексов. Самый правильный вариант - использовать шейдер. Как этот эффект называется забыл, но знаю что он широко применяется в аниме играх

кажется toon shader назывется, когда делается обводка
но в блице шейдеров нету, поэтому...

pax 03.07.2010 22:55

Ответ: Вопрос-Ответ (для новичков)
 
Двухпроходный шейдер, выполняющий ту же функцию, что и описанную мной не применим к блитцу (кроме Xors). Да я ошибся, и сейчас вспомнил что в шейдере просто указывается другой порядок обхода вершин для лицевой стороны полигонов и берется монотонный цвет. Но рисует этот метод такое же количество поликов (т.е. два прохода = х2). Пока не знаю других вариантов для создания outline эффекта (не было надобности копать глубже).

Kolobok 04.07.2010 00:37

Ответ: Вопрос-Ответ (для новичков)
 
Мне в игре Princ Of Persia 4 понравилась обводка, вот решил что-то подобное сделать, только проще, тетрис какой-нибудь )

is.SarCasm 04.07.2010 01:20

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Мне в игре Princ Of Persia 4 понравилась обводка, вот решил что-то подобное сделать, только проще, тетрис какой-нибудь )
если я не ошибаюсь, то это бублики движка

Randomize 04.07.2010 03:39

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Kolobok (Сообщение 152797)
Мне в игре Princ Of Persia 4 понравилась обводка, вот решил что-то подобное сделать, только проще, тетрис какой-нибудь )

PHP код:

Function Cel_Shade(Shaded_EntityOutlineScale#=0.025, r#=0, g#=0, b#=0)
    
Local Outline_Entity CopyMesh(Shaded_Entity)         
    
UpdateNormals(Outline_Entity
    
EntityFX(Outline_Entity1+8)
    
    
    
Local i
    
For 1 To CountSurfaces(Outline_Entity)
        
        
Local surf GetSurface(Outline_Entityi)
        
Local j
        
        
For 0 To CountVertices(surf) - 1
            Local Vx
#  = VertexX#(surf, j)
            
Local Vy#  = VertexY#(surf, j)
            
Local Vz#  = VertexZ#(surf, j)
            
Local VNx# = VertexNX#(surf, j)
            
Local VNy# = VertexNY#(surf, j)
            
Local VNz# = VertexNZ#(surf, j)
            
VertexCoords (surfjVx#+(VNx#*OutlineScale#), Vy#+(VNy#*OutlineScale#), Vz#+(VNz#*OutlineScale#))
        
Next
        
    Next
    
    FlipMesh Outline_Entity
    EntityColor Outline_Entity
rgb
    PositionEntity Outline_Entity
EntityX#(Shaded_Entity, True), EntityY#(Shaded_Entity, True), EntityZ#(Shaded_Entity, True)
    
EntityParent Outline_EntityShaded_Entity
End 
Function 

;)

Kolobok 04.07.2010 22:47

Ответ: Вопрос-Ответ (для новичков)
 
А как скрывать, отображать объекты? :)
Типа свойства Visible...

Добавил:
Всё разобрался
HideEntity
ShowEntity

is.SarCasm 04.07.2010 23:04

Ответ: Вопрос-Ответ (для новичков)
 
Первый способ:
EntitAlpha - настраивает прозрачность. 0 = невидимко
Второй способ:
HideEntity - причем он не только прячится, но и не используется в коллизиях. См. справку.
Цитата:

Скрывает объект так, что он становится невидимым и больше не участвует в столкновения.

Основное применение - позволяет Вам создавать все объекты в начале программы, скрывать их, а затем копировать их и показывать по мере необходимости в основном игра. Это более эффективно, чем создание объектов в процессе игры.

Если Вы желаете скрыть объект так, чтобы он стал невидим, но все еще участвовал в столкновениях, то используйте команду EntityAlpha 0 вместо HideEntity. Это сделает объект полностью прозрачным.

HideEntity действует на указанный объект и все его дочерние(привязанные к нему) объекты, если такие существуют.

RlexGm 05.07.2010 13:26

Ответ: Вопрос-Ответ (для новичков)
 
я написал говнокод приседания, но он слишком багнутый, хочу узнать как это делается цивилизованно.Может кто нибудь дать пример с использованием.Приседание примерно как в CS 1.6 (ну и в других шутерах)

pax 05.07.2010 13:54

Ответ: Вопрос-Ответ (для новичков)
 
Ну... делаешь анимацию приседания... потом запускаешь анимацию ходьбу на корточках... как-то так... :)

Я надеюсь не программным путем кости двигал?)

RlexGm 05.07.2010 15:45

Ответ: Вопрос-Ответ (для новичков)
 
игра от первого лица

pax 05.07.2010 15:49

Ответ: Вопрос-Ответ (для новичков)
 
Тогда просто меняй высоту камеры над землей и все.

RlexGm 05.07.2010 16:03

Ответ: Вопрос-Ответ (для новичков)
 
а какже изменение радиуса, пролезание в вентилиционные трубы и т.д.?

pax 05.07.2010 16:08

Ответ: Вопрос-Ответ (для новичков)
 
Ну если используете PhysX, то используйте в качестве коллайдера капсулу с определенной высотой. Либо если есть Character Controller у которого тоже должен быть коллайдер в виде капсулы.

Malder 05.07.2010 17:03

Ответ: Вопрос-Ответ (для новичков)
 
Хочу написать 3D игрушку на blitz3d. Щас подбираю комп для этого. игрушка будет тяжелой, полигонов и спрайтов будет завались. Посоветуйте конфигурацию компа. если большая разница по производительности (именно для Блица) между Dual Core и i7

Dream 05.07.2010 17:12

Ответ: Вопрос-Ответ (для новичков)
 
думаю не стоит начинать проект где будет мильёны спрайтов и полигонов, сам блиц просто не потянет, внезависимости от конфига компа.

Malder 05.07.2010 17:16

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Dream (Сообщение 153072)
думаю не стоит начинать проект где будет мильёны спрайтов и полигонов, сам блиц просто не потянет, внезависимости от конфига компа.

а на чем посоветуешь. желательно чтоб простой как blitz был.

Hurrit 05.07.2010 17:33

Ответ: Вопрос-Ответ (для новичков)
 
Отрисовывать миллион спрайтов и миллион вертексов, вообще ни на каком движке не советуем. Лучше бери блиц и делай мелькие игрушки. Убийцу халфы и нид фор спида еще успеешь сделать.

is.SarCasm 05.07.2010 17:34

Ответ: Вопрос-Ответ (для новичков)
 
Ты бы с чего то поменьше начал

Malder 05.07.2010 17:49

Ответ: Вопрос-Ответ (для новичков)
 
реально хотябы 500 000 полигонов на экране и 150 спрайтов в пределах видимости камеры blitz3d

RlexGm 05.07.2010 17:50

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от pax (Сообщение 153048)
Ну если используете PhysX, то используйте в качестве коллайдера капсулу с определенной высотой. Либо если есть Character Controller у которого тоже должен быть коллайдер в виде капсулы.

используются стандартные блиц коллизии

Цитата:

Сообщение от Malder (Сообщение 153074)
а на чем посоветуешь. желательно чтоб простой как blitz был.

Хорошой картинки можно добиться и Low Poly главное умение делать, а не копипастить, и иметь хорошую фантазию;)

pax 05.07.2010 18:50

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Malder (Сообщение 153086)
реально хотябы 500 000 полигонов на экране и 150 спрайтов в пределах видимости камеры blitz3d

Unity3d справится при условии использования простых материалов и не большого количества текстур и с миллионом треугольников.
Но, как сказали выше, лучше lowpoly + normalMapping.

И зачем такое количество полигонов? Моделеры не опытные?

Kolobok 06.07.2010 02:16

Ответ: Вопрос-Ответ (для новичков)
 
Я создаю кубик обычных размеров, загружаю 3д модель, размеры которой раз в 10 больше кубика, задаю всякую коллизию, но когда тестирую, то кубик проходит чуть ли не до половины модели, перед тем как столкнётся с ней...

Как сделать коллизию чётко по фигуре модели?

Создавал 2 кубика, размеры одного увеличивал в двое, а сталкивается он как кубик на 1,1,1, то есть налезает на другой кубик... Пробовал EntityRadius, но получилось ещё хуже, он залазает на голову маленького куба... А EntityBox вообще что-то не работает.

Как пользоваться EntityBox?

is.SarCasm 06.07.2010 10:59

Ответ: Вопрос-Ответ (для новичков)
 
Тебе не одолеть уличную магию блитза

pax 06.07.2010 12:20

Ответ: Вопрос-Ответ (для новичков)
 
EntityRadius вроде бы, хотя может за несколько лет забыл... Сталкиваться может только сфера с чем бы то нибыло... ищи другие функции по установки размеров коллайдеров.


Часовой пояс GMT +4, время: 17:30.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot