forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Collisions (http://forum.boolean.name/showthread.php?t=2560)

axel186 30.01.2007 19:55

Collisions
 
Давно за блицем не сидел.... Всё позабыл , щас сел решил маленькую гоночку написать и опа... Так с Коллизеей встрял...РАньше с этим таких проблем не было потому что я всё время пользовался EntityRadius, К моей игре подошёл бы EntityBox, но он чо-то не пашет... чо тока не делал он не пашет, уже через pipeline колизию пробовал сделать и всё равно не фига... плиз хелп...

Raiter 30.01.2007 20:02

Re: Collisions
 
код плиз

Diplomat 30.01.2007 20:09

Re: Collisions
 
Если я правильно понял суть вопроса, то:
Поддерживаемый тип коллизий в Блице:
-Сфера-к-сфере (эллипсоид-к-эллипсоиду);
-Сфера-к-коробке;
-Сфера-к-полигону.
Коллизии "Коробка-к-полигону" в Блице отсутствуют.

axel186 30.01.2007 20:17

Re: Collisions
 
Вот например:

Колизия есть но кубик на половину проходит через стену.... Как это испарвить?

Код:

Const BoxType=1, WallType=2

Graphics3D 640,480,16
SetBuffer BackBuffer()

Box=CreateCube()
ScaleEntity Box,1,1,2
EntityBox Box,0,0,0,1,1,2
EntityType Box,BoxType
EntityColor Box,0,255,0

Camera=CreateCamera()
PositionEntity Camera,0,30,10
RotateEntity Camera,90,0,0

Light=CreateLight()
RotateEntity Light,90,0,0

Wall=CreateCube()
PositionEntity Wall,0,0,20
ScaleEntity Wall,30,1,0.1
EntityBox Wall,0,0,20,30,1,0.1
EntityType Wall,WallType
EntityColor Wall,255,0,0

Collisions BoxType,WallType,2,2
Collisions WallType,BoxType,2,2

Repeat

If KeyDown(200) Then MoveEntity Box,0,0,1
If KeyDown(208) Then MoveEntity Box,0,0,-1

UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End


ЛысыЙ_Чук-Иванчук 30.01.2007 20:56

Re: Collisions
 
Если хочеш колизию полигон-полигон, юзай физ двиг-и....

axel186 30.01.2007 21:06

Re: Collisions
 
Цитата:

Сообщение от vlad
Если хочеш колизию полигон-полигон, юзай физ двиг-и....

ого.... а чо проще никак нельзя??

moka 30.01.2007 23:37

Re: Collisions
 
Вообщето физ двиги, это не очень и сложно, + тебе будут доступны ещё много прянностей. ;)

axel186 31.01.2007 00:49

Re: Collisions
 
Ладно... Объясните где я могу его взять? это ODE?

Magus 31.01.2007 09:38

Re: Collisions
 
http://www.boolean.name/showthread.p...FC%FE%F2%EE%ED

ЛысыЙ_Чук-Иванчук 31.01.2007 18:50

Re: Collisions
 
Ну я бы рекоминдовал сначала всять невтон(вообще они чуть похожи по использованию), но для невтон-а есть хорошая справка(встиле блица):)

Vyacheslav 31.01.2007 19:26

Re: Collisions
 
Чем плоха коллизия эллипсоид-к-полигон - можно ж ставить EntityRadius по двум значениям - будет не идеальный куб, но разве это очень заметно, да и в гонках тем более...

Вот, например:

Код:

Const BoxType=1, WallType=2
Graphics3D 640,480,16,2
SetBuffer BackBuffer()
Box=CreateCube()
ScaleEntity Box,1,1,2
EntityType Box,BoxType
EntityRadius Box,2.6,1.3
EntityColor Box,0,255,0
Camera=CreateCamera()
PositionEntity Camera,0,30,10
RotateEntity Camera,90,0,0
Light=CreateLight()
RotateEntity Light,90,0,0
Wall=CreateCube()
PositionEntity Wall,0,0,20
ScaleEntity Wall,30,1,0.1
EntityType Wall,WallType
EntityColor Wall,255,0,0
Collisions BoxType,WallType,2,3
Repeat
If KeyDown(200) Then MoveEntity Box,0,0,1
If KeyDown(208) Then MoveEntity Box,0,0,-1
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End


ЛысыЙ_Чук-Иванчук 31.01.2007 20:48

Re: Collisions
 
Цитата:

Чем плоха коллизия эллипсоид-к-полигон - можно ж ставить EntityRadius по двум значениям - будет не идеальный куб, но разве это очень заметно, да и в гонках тем более...
Вот какростоки в гонках оч важно правельность коллизии, не оч приятно видеть как машина врубается тем местом где ничего не видно, или стукаешся в дом и кусок её в нутри него:)
ЗЫ. Физику ненадобудет придумывать мега умную:)!!! Физ двиг сам за все будет думать....

Vyacheslav 31.01.2007 20:54

Re: Collisions
 
И ресурсами его кормить не надо - он сам и съест :) .
А в самом деле, почему в таком случае объект на половину входит в стенку?

Raiter 31.01.2007 21:54

Re: Collisions
 
ну можно ведь не только через колизию ;) можно сверять координаты... или колизия + проверка координат

зыж
Цитата:

какростоки
ели прочитал :-)

Vyacheslav 31.01.2007 22:03

Re: Collisions
 
Вот какой из этих 2 способов будет эффективнее? В смысле, с физ. движком или через просчеты+станд.коллизии


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

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