forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Вопрос по коллизии (http://forum.boolean.name/showthread.php?t=263)

Fant 29.10.2005 13:17

Очень стыдно, но есть вопрос (я уверен, что ответ прост, но НИКАК не могу допереть до исины) :wallbash:

Код:


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

Const typecube1=1
Const typecube2=2


camera=CreateCamera()
PositionEntity camera,0,0,-20

cube1=CreateCube()
PositionEntity cube1,10,0,0
EntityType cube1,typecube1
EntityColor cube1,0,200,60

cube2=CreateCube()
PositionEntity cube2,0,0,0
EntityType cube2,typecube2
EntityColor cube2,250,00,0


Collisions typecube1,typecube2,2,3


Repeat
MoveEntity cube1,-.1,0,0

If KeyHit (57) Then End

UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End

Ну как сделать так, что бы по нажатию пробела они НЕ коллиделись????

то есть если нет события - коллизия.
если событие произошло, то коллизии быть не может случиться!!!

и...как код втыкать в текст :@

:SOS:

jimon 29.10.2005 13:31

хе

предлагаю по нажатию пробела присваивать обектам тип 0 (entitytype mazaf**a,0)

а код ты практически правильно втыкнул , просто надо не [\code] а [/code]!

Fant 29.10.2005 13:58

спасибо. работает. Тему не закрываем. Возможно писать сюда продолжу еще я про коллизии!

ZanoZa 29.10.2005 14:19

Как колизить animmesh

axel186 29.10.2005 14:25

Цитата:

Как колизить animmesh
меня тоже интересует этот вопрос :)

Жека 29.10.2005 14:59

Создаешь Пивот для своего анимированного объекта - сферу!
piv = CreateSphere()

a модель перентишь к пивоту
EntityParent animMesh,piv

еще не помешает сделать при помощи масштабирования из сферы эллипсоид
ScaleMesh piv,1,3,1 - например так

Потом устанавливаешь радиус коллизии и тип
EntityRadius piv,1,3
EntityType piv,col_type

Все, остальное знаете.

KRIK 29.10.2005 16:20

А ПО МОЕМУ МОЖНО И БЕЗ СФЕРЫ ОБОЙТИСЬ, ВЕДЬ У МЕНЯ ГЕРОЙ И ТАК БЕГАЕТ.

Fant 29.10.2005 16:37

Так...приплыли сюда

Кнопка пробел - убирает все коллизии
Enter - двигает куб в противоположную сторону
1 на клаве - ставит коллизии.

Итак пример. Игрок берет приз и проходит сквозь "пробиваемые" стены. ЧЕРЕЗ непробиваемые пройти не может. То есть как сделать так, что бы при нажатии пробел ИГРОК проходил сквозь КРАСНЫЙ кубик, а сквозь ФИОЛЕТОВЫЙ пройти не смог.

ПС. шутка: успеть нажать 1 на клаве не принимается. Я серьезно!

вот код:
Код:


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

Const typecube1=1
Const typecube2=2
Const typecube3=3

camera=CreateCamera()
PositionEntity camera,0,0,-20

cube1=CreateCube()
PositionEntity cube1,10,0,0
EntityType cube1,typecube1
EntityColor cube1,0,200,60

cube2=CreateCube()
PositionEntity cube2,0,0,0
EntityType cube2,typecube2
EntityColor cube2,250,00,0

cube3=CreateCube()
PositionEntity cube3,-15,0,0
EntityType cube3,typecube3
EntityColor cube3,250,100,600


Collisions typecube1,typecube2,2,3
Collisions typecube1,typecube3,2,3


Repeat
MoveEntity cube1,-.1,0,0
If KeyDown (28) Then MoveEntity cube1,.2,0,0

If KeyHit (57) Then ClearCollisions

If KeyHit (2)
Collisions typecube1,typecube2,2,3
Collisions typecube1,typecube3,2,3
End If

UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End


jimon 29.10.2005 16:49

а я в будущем планирую добавить потдержку anim обектов в jode :)

jimon 29.10.2005 17:00

** *** ****** ***, ***** ***** *** ***** *** !

Код:

If KeyHit (57) Then
ClearCollisions
Collisions typecube1,typecube3,2,3
End If

говорилже - ВОСОЗДАВАТЬ КОЛОЗИИ НАДО!

ZanoZa 29.10.2005 19:21

Цитата:

Originally posted by Жека@Oct 29 2005, 12:59 PM
Создаешь Пивот для своего анимированного объекта - сферу!
piv = CreateSphere()

a модель перентишь к пивоту
EntityParent animMesh,piv

еще не помешает сделать при помощи масштабирования из сферы эллипсоид
ScaleMesh piv,1,3,1 - например так

Потом устанавливаешь радиус коллизии и тип
EntityRadius piv,1,3
EntityType piv,col_type

Все, остальное знаете.

Как всё запущенно:blink: неужели не могли сделать как с обычным meshem? :??
p.s.кто знает подскажите, я сделал анимацию в максе для модели через biped,
а в blitze видно biped и не идёт анимации.Тоже самое с костями. :dontknow:

pax 29.10.2005 20:40

Для этого надо экспортровать правильно и в правильный формат... если ты натягивал кости модификатором Skin, то можеш экспортировать Pipeline'ом в b3d формат, если меш сборный, то в 3ds формат экспортируется анимация только с TCB контроллером.

Akima 31.10.2005 08:25

а можно сделать облости коллизий (EntityRadius, EntityBox), видимыми.

НУБ 31.10.2005 09:15

Цитата:

Originally posted by Akima@Oct 31 2005, 07:25 AM
а можно сделать облости коллизий (EntityRadius, EntityBox), видимыми.
Да, CreateSphere(), CreateCube() :)

Akima 31.10.2005 09:18

я так делал но у меня вакое впечатление что коллизии гдето в другом месте (смещенно) появляются


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

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