Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Xors3D

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 30.08.2010, 23:39   #1
Motorboy
Оператор ЭВМ
 
Регистрация: 07.01.2007
Сообщений: 22
Написано одно полезное сообщение
(для 2 участников)
Вопрос xEntityApplyImpulse

Пытаюсь сделать выстрел на физике встроенной в Xors.
Использую команду xEntityApplyImpulse.
Для вектора импульса применяю xTFormNormal 0,0,1,camera,0
Для точки приложения импульса применяю xTFormPoint pickX,pickY,pickZ,0,pickedentity.
Проблема в том что импульс прикладывается в зависимости от того какой стороной повернуто пикнутое тело...Если например куб лежит на земле так как он был создан то импульс прикладывается правильно(если выстрелить в правый угол куба то он и будет вращаться вправо).Если же он перевернется вверх ногами то при выстреле в тот же правый угол куб вращается в противоположную сторону...Это баг Xors-a или у меня руки кривые?

пример в аттаче.
Вложения
Тип файла: zip Primer.zip (611.4 Кб, 430 просмотров)
(Offline)
 
Ответить с цитированием
Старый 31.08.2010, 02:00   #2
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: xEntityApplyImpulse

Аргхх. Пользуясь случаем, хочу передать Эрвину Кумансу пламенный привет и пожелать ему поскорее завязать с тяжелыми наркотиками.
В общем, в функции xEntityApplyImpulse последние три аргумента - координаты точки приложения импусьса. Эта точка задается относительно центра масс тела, но в мировых координатах (звучит тупо, не правда ли?).
Т.е. в твоем случае надо делать так.
tfpx#=xPickedX() - xEntityX(pick, 1)
tfpy#=xPickedY() - xEntityY(pick, 1)
tfpz#=xPickedZ() - xEntityZ(pick, 1)
ЗЫ. Позже сделаем нормальную "локальную" и "глобальную" версии всех этих функций. Ну т.е. будет еще один аргумент global, как в большинстве аналогичных функций (xPositionEntity и т.п.). Следите за обновлениями на http://hot.xors3d.com
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (01.09.2010)
Старый 31.08.2010, 20:12   #3
Motorboy
Оператор ЭВМ
 
Регистрация: 07.01.2007
Сообщений: 22
Написано одно полезное сообщение
(для 2 участников)
Ответ: xEntityApplyImpulse

Спасибо за подсказку.Так все работает.
Еще вопрос...при удалении ентити командой xFreeEntity физическое тело тоже удаляется?
Есть ли возможность удалить ентити без удаления физ.тела?Для того что бы использовать низкополигональный меш для физ.оболочки высокополигональной модели?
(Offline)
 
Ответить с цитированием
Старый 31.08.2010, 20:23   #4
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: xEntityApplyImpulse

Да, xFreeEntity удаляет и физическое тело тоже.
Нет, удалить сущность без удаления физического тела нельзя.
Для того что бы использовать низкополигональный меш для физ.оболочки высокополигональной модели
Лучше мы реализуем возможность создание тримеша из произвольной сущности, а не только из той, к которой будет привязано физическое тело.
Кстати, если есть возможность, то лучше использовать выпуклый каркас (convex hull) вместо тримеша, т.к. первый работает быстрее. Позже добавим compound'ы - они тоже быстрее тримеша, но могут быть не выпуклыми.
__________________

(Offline)
 
Ответить с цитированием
Старый 31.08.2010, 23:02   #5
Motorboy
Оператор ЭВМ
 
Регистрация: 07.01.2007
Сообщений: 22
Написано одно полезное сообщение
(для 2 участников)
Ответ: xEntityApplyImpulse

А можно еще добавить команды для получения скорости физ.тела по осям ХYZ?
Аналог pxBodyGetLinearSpeedX в врапере PhisX.
(Offline)
 
Ответить с цитированием
Старый 31.08.2010, 23:37   #6
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: xEntityApplyImpulse

Можно.
__________________

(Offline)
 
Ответить с цитированием
Старый 01.09.2010, 00:08   #7
Motorboy
Оператор ЭВМ
 
Регистрация: 07.01.2007
Сообщений: 22
Написано одно полезное сообщение
(для 2 участников)
Ответ: xEntityApplyImpulse

Будем ждать...Надеюсь в следующей ревизии будет...
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com