Тема: BlitzODE.bb
Показать сообщение отдельно
Старый 05.10.2005, 20:25   #6
jimon
 
Сообщений: n/a
и так у меня получилось совместить несколько геометрий в одном обекте ode !

вот код: (также смотрите скрин как ето выглядеть будет ) )

test_space=ODE_dSimpleSpaceCreate(space)

space2%=space%
space%=0

j1=ODE_dJointCreateFixed%()

g.TODEGeom = New TODEGeom
g\mesh=CreateCube()
MoveEntity g\mesh,0,51,0
EntityColor g\mesh,0,255,0
g\body = ODE_dBodyCreate()
g\geom = ODE_create_object("cube",g\body,g\mesh,1,1,1,1)
tode1=Handle(g)
body1=g\body

ODE_dSpaceAdd(test_space,g\geom)


g.TODEGeom = New TODEGeom
g\mesh=CreateCube()
MoveEntity g\mesh,0,54,0
EntityColor g\mesh,0,255,0
g\body = ODE_dBodyCreate()
g\geom = ODE_create_object("cube",g\body,g\mesh,1,1,1,1)
tode2=Handle(g)
body2=g\body

ODE_dSpaceAdd(test_space,g\geom)

ODE_dJointAttach(j1,body1%,body2%)

ODE_dJointSetFixed(j1)

space%=space2%
попорядку что к чему:
1) делаем кучу TODEGeom обектов (но все геометрии присваюваются space = 0 ! ето обязательно)
2) создаем space для нашего 'обекта'
3) присойденяем к нашему space все обекты
4) создаем joint'ы типа fixed
5) присойденяем все обекты вот так : 1->2,2->3,3->4,4->5,5->...
6) фиксируем все joint'ы командой ODE_dJointSetFixed(joint)
7) радуемся )

вообщем описание немного геморно... можно сразу создать свой space для обекта
и присваивать все геометрии нему, но ето уже потом зделаю... в jode

ps. мысли в слух : "а как ето было долго, пол часа времени и чашка кофе и песня 'я еду домой' океан ельзи "
ps2. все гениальное - просто ... сам уже к етому пришол раз пять
ps3. Final Fantasy 5 класная игра )
 
Ответить с цитированием