![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Привет,
Есть самолетик, есть несколько точек, через которые ему надо пролететь. Как реализовать это именно движком. То есть самолет должен поворачивать плавно (дуга поворота, связана со скоростью), а не летать острым зигзагом. Дайте направление куда копать или решение, пожалуйста. Сам думаю, что надо как то хитро применять силу на каждой итерации, но допетрить не могу и в инете не нашел. Пардон за кривые термины. Добавлено через 19 минут http://mathworld.wolfram.com/CubicSpline.html вот подкинули ссылку, пока читаю.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Мне кажется здесь не в движке дело. Подобные проблемы решаются в высшей математике. Поделюсь ссылочками, возможно помогут
http://ru.wikipedia.org/wiki/%D0%9C%...BD%D0%B6%D0%B0 http://ru.wikipedia.org/wiki/%D0%9A%...B7%D1%8C%D0%B5
__________________
Мой профиль на фрилансе |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Движок сам может эти траектории расчитывать. Он на то и физ движок. Главное не пытаться его заставить поменять угол через SetAngle, а придумать способ указать следующую точку и приложить нужную силу
|
|
|||||
|
Тогда сорри. У меня только знания математики...
__________________
Мой профиль на фрилансе |
|
|||||
|
Цитата:
Цитата:
[IMG]http://dl.************/u/6132064/plane_angle.png[/IMG] Добавлено через 1 минуту Вечером попробую отпишусь.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
GBee, а зачем это? Игру с ИИ пишешь? Или просто для эксперимента?
|
|
|||||
|
Цитата:
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
У вас точки, через которые оно должно ТОЧНО пролететь?
В принципе steering behaviour рекомендую погуглить в любом случае) У меня первая ссылка там - практически то, что надо (Path Following).
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Точки можно расположить через одинаковые расстояния узлами кривых безье. Затем перемещаем самолётик, от точки к точке, без бокс2Д, самолётик переместился, на вектор, этот вектор можно использовать как силу для перемещения тела в бокс2Д, но возможно, что тело переместится не туда, куда хочется нам, а руководствуясь некоторым физ законам.
Упорощеный алгоритм такой самолётик.позиция = бокс2Дсамолётика.позиция.копировать(); новКоординаты = самолётик.получитьНовыеКоординаты(); самолётик.скорость = новКоординаты - самолётик.позиция; бокс2Дсамолётика.применитьКакСилу(самолётик.скорость); бокс2Д.update(); И мышкой можно сбивать этот прямоугольничек.
__________________
Гоночка |
|
|||||
|
Alex Lexcuk
Немного не то, что хочется, точек слишком много в примере. Хотя может правильное решение, проверю, когда будет время. Пример такой - самолет летит на север, тыкаем точку на юге, он по дуге разворачивается и летит в эту точку.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|