примерные спецификации (мысли в слух)
1)стандартный заголовок : "jODEe 0.2v" заголовок описан двумя строчками 2)int - количество обектов 3)обекты 4)int - количество joinов 5)joints описание обекта : byte - тип int - id 3int - position 3int - scale 3int - rotate описание joint'а варьируется от его типа 1) тип fixed (первый реализованый тип - он реализован еще в первой версии протокола) int - id int - id первого обекта int - id второго обекта размер файла минимум : 21 байт каждый обект занимает 41 байт joint типа fixed занимает 12 байт |
вот еще мой пост из серии изучаем ode :))
изучаем сочленение типа hinge (Сгибание) теперь обясняю что такое точка сойденения (anchor) и что такой ось поворота (axis) anchor ето точка сойденения обектов body 1 и body2 координаты точки задаются командой ODE_dJointSetHingeAnchor(joint,x#,y#,z#) координаты задаются глобальные ! ето важно тоесть мы получаем сообствено триугольник ----c ----/\ ---/--\ --/----\ a/____\b где a и b ето body 1 и body 2 соотвествено и c ето anchor длина отрезка ac и длина отрезка bc всегда const может изменятся в очень маленьком диапазоне если растояние сильно изменится - система или 'взорвется' или ode выдаст ошибку растояние между ab может менятся от 0 до ac+bc ось поворота тожет очень важный аргумент она задается командой ODE_dJointSetHingeAxis (joint, x#, y#, z#) значение x,y,z ето координаты вектора , начало вектора - точка anchor ось что показана на рисунке можно задать вот так ODE_dJointSetHingeAxis (joint, 0, 1, 0) теперь реализуем ето все в ode :)) Код:
test_space=ODE_dSimpleSpaceCreate(space) сообствено обект ето два кубика ... один снизу и другой сверху между ними (ровно посредине) находится точка сойденения (альфа - я так ее назвал) |
я офигел щас :o
експерементирую с jointами... убрал создание нового мира и зделал чтобы обекты все записывались к общему миру и что? ОНО РАБОТАЕТ! тоесть получается что я ошибался нащот того что обязательно все привязывать к новому миру :( я в шоке :dontknow: буду продолжать експеременты дальше ps. написал примитивный дебагер етого вида сочленения скрин в атаче |
продолжая тему изучаем ode
joint типа ball (шарик в разьеме) ето чтото типа hinge только упрощеное :)) вообщем создается ето чудо командой ODE_dJointCreateBall позиция точки задается командой ODE_dJointSetBallAnchor(joint,x#,y#,z#) x,y,z также в глобальных координатах вот так ето выглядит в jode : вообщем основы формата я уже зделал надо только написать загрузку всех типов соейденений и усе :)) так как мне в западло было писать отдельный пример выкладываю все что есть по етому типу сойденения и нетолько ps. не забывайте что space в примере - задать всем обектам rand вектора на правления и поворота |
и так новости :))
я закончил jode 2 он проходит бета тестирование щас буду писать редактор моделей и ... и пытатся продать его буржуям ;) freeware версий небудет наверно, хотя с етим надо будет еще разобратся |
Цитата:
|
етоже над-делка над ode, а не переделка самого ode
покрайней мере я так думаю |
Это тоже самое, что и Аркон когда-то враппер для Блитца делал. Так что я думаю, проканает.
|
вот полчасика попарился
зделал модельку машинки в jode управление T,G - вперед и назад (F,H влево и вправо только оно еще коряво работает) q - показать\скрыть debug w - wireframe стрелочки и мышка - управляем камерой файл, поскольку он является промежуточной версией, был удален из-за нехватки места на сервере |
Цитата:
|
jimon, ты, конечно, не обижайся , но с физикой ты что-то напортачил =(
|
Цитата:
|
вопервых я приатачил двигатель ко всем колесам
вовторых поворот я зделал с помощью поворота оси поворота (получилось фигня - появление кольцевой траектории вокруг колес с радиусом r от центра оси) и в третих вес обектов то : колеса по 1 кг , машина 20 кг жосткость - заднии колеса без подвестки (слегка) переднии - мягкие притом учитывай кубик сверху вот и получилось фигня :) да тут надо только с параметрами jointов разобратся и вот с етим : ODE_dJointSetHinge2Param(joint[i], dParamSuspensionERP, .3) ODE_dJointSetHinge2Param(joint[i], dParamSuspensionCFM, .065) 2 саб : то что ты говориш получается не из-за самой физики а расположения колес от точки сойденения - слишком они далеко , вот и получается фигня тут же колеса с корпусом сойденены hinge-2 joint :)) |
ну что же :))
разобрался я с управлением, поворотами, подвеской отличия от предыдущего теста: +центр сочленения в центре колес +поменял оси сочленения +зделал поворот +вставил обработку угловых сил обектов машинки +переделал слегка машинку +машинка потежелее стала (100 кг корпус, по 10 кг каждое колесо) +все пашет :)) управление тоже файл, поскольку он является промежуточной версией, был удален из-за нехватки места на сервере |
Цитата:
:super: |
Часовой пояс GMT +4, время: 14:48. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot