|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Форум движка Xtreme3D / Xtreme3D: вопросы и ответы / Обнаружение столкновений |
Страницы: 1 |
Автор | Сообщение |
Ayazi4 Группа: Участники Сообщений: 3 |
Добавлено: 27-04-2009 15:54 |
Народ как в Xtream3d сделать так чтобы при столкновении 1объект не проходил через другой З.Ы.: или покажите на примере X3D vehicle Please!!! Кстати Большое спасиба Сайту и всему народу что здесь сидит и не только!!!! |
|
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 27-04-2009 18:57 |
Проще всего использовать DCE - движок обнаружения столкновений, встроенный в Xtreme3D, очень удобный и легкий в освоении. Все рассчеты производятся автоматически, нам только остается любоваться результатом. 1. Создаем менеджер DCE: dce=DceManagerCreate(); DceManagerSetManualStep(dce,1); DceManagerSetMovementScale(dce,2); 2. Создадим два объекта, один статичный (куб), другой динамичный (сфера). Статичных объектов DCE можно создать несколько. cube=CubeCreate(10,10,10,global.scene); ObjectSetPosition(cube,0,0,-30); DceStaticSetManager(cube,dce); DceStaticSetActive(cube,true); DceStaticSetSize(cube,10,10,10); DceStaticSetShape(cube,1); DceStaticSetSolid(cube,1); sphere=SphereCreate(5,8,8,global.scene); DceSetManager(sphere,dce); DceSetUseGravity(sphere,0); DceSetActive(sphere,true); DceSetSize(sphere,5,5,5); DceSetSolid(sphere,1); DceSetSlideOrBounce(sphere,0); ObjectSetPosition(sphere,0,5,0); DceSetFriction(sphere,1.5); 2. Теперь можно двигать сферу: if keyboard_check(vk_up) DceApplyAcceleration(sphere,15,0,0); 3. После этого необходимо обновить состояние DCE: DceManagerStep(dce,0.1); Есть и пример на эту тему: Ссылка |
|
Ayazi4 Группа: Участники Сообщений: 3 |
Добавлено: 28-04-2009 13:40 |
Спасибо Большое!!!! | |
Ayazi4 Группа: Участники Сообщений: 3 |
Добавлено: 29-04-2009 11:56 |
Как я понял статичный объект это здания и стены и т.д, а динамичный это самперсонаж. Когда обновляю состояние ДЦЕ выходят ошибки. долго мучался так и ничего не получилось. Теперь к вам народ у меня 3 вопроса(1 из которых просьба): 1. на сайте есть пример X3D vehicle Я по нему создал демку (скачал с инета модель небольшого города и авто (т.к. нет знаний по 3д максу да исамого макса нет поэтому пока с учебником сижу)) ДЦЕ на нем как Gecko писал работать не хочет может кто нибудьть переделает этот пример и зальет мне на почту:iceman1991@inbox.ru ЗАРАНЕЕ СПАСИБА!!! 2. На сайте есть программка вернее уроки по этой программке 3d world studio, так вот программа сохраняет все в " фаил *.3dw Xtreame етот формат не поддерживает (даже через FreeformCreate) Может или я тупой в хлам или чего не допонимаю объясните плиз!!! может конвертер какой есть? 3.некоторые файлы в 3дс формате не "обращают внимание" на смену позиции как ето исправить? Большое СПС Зарание всем кто поможет!!! |
|
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 29-04-2009 18:08 |
1. Меня вот что поражает: ты просил объяснить, как обнаружить столкновение двух объектов, я объяснил. Ни о какой карте речи не было, так что DCE тут не виноват. Если ты любитель "копипастить" код безо всякой попытки понять, как он работает, то лучше сначала попиши что-нибудь попроще. Если нет - объясняй конкретно, что надо. Мне крайне трудно помогать, если я даже не осведомлен, что именно нужно - столкновение куба с шариком или автомобиля с картой уровня. В общем, я не собираюсь ничего переделывать и перезаливать. Забот и без того хватает. Если хочешь юзать в DCE карту, смотри здесь. 2. Разумеется, не поддерживает. Экспортить надо в более вменяемые форматы, например, B3D. Или - да, ищи конвертер, гугл в помощь. 3. Никогда с этим не сталкивался, объясни подробнее - что за модель, как именно осуществляется смена позиции. |
Страницы: 1 |
Форум движка Xtreme3D / Xtreme3D: вопросы и ответы / Обнаружение столкновений |