Добрый день люди добрые.
Я в Queste новичок.
Помогите пожалуйста как в Queste с помощью Newton можно симитировать гусеницу и колёса танка. Если можете объясните в виде схемы или в виде файла. Очень прошу помогите.
Всем привет!
Newton под квест сильно уступает в скорости и в функционале оригинальному.
я провел такой тест: скомпилировал С++ код, в котором использовал оригинальный Ньютон, так вот, сцена без симуляции Ньютоновской физики выдавала 1300 fps, затем добавил в сцену 1000 Ньютоновских твердых тел, которые просто падали под силой гравитации, результат – 1000 fps.
Следующий тест уже в Квесте:
Пост 69
https://guest3d.wohlnet.ru/forum/index.php?topic=759.60
и наблюдаю, что 200 объектов - это придел, при 300 ах уже слайд-шоу
так это еще без джоинов, к тому же замечено, что Ньютон в квесте очень не любит, когда объекты пересекаются..
Делаем вывод, что гусеницу (это грубо говоря 100 - 120 траков на одной гусенице) делать физикой в Квесте - не получится. Остается вариант делать гусеницу – тупо анимацией.
Как вариант можно движение танка организовать при помощи колес, с каждой стороны штук по 7( колеса будут при помощи физики, взаимодействовать с ландшафтом ), к колесам танка привязать контрольные точки . При перемещении колес вверх\вниз, контрольные точки будут следовать за колесами. На основании контрольных точек, строить сплайн, затем вдоль сплайна, равномерно распределять траки, естественно учитывая смещение анимации.
Если бы в Квесте возможно было работать напрямую с вертексным буфером, то можно было бы гусеницу представить в виде меша с текстурой траков, и затем деформировать ее на основании контрольных точек (что-то типа FFD в Максе). Но что бы это сделать в Квесте, понадобится писать свой канал при помощи SDK..
Каждое колесо танка, кроме ведущих должно иметь пружину и амортизатор.
Несколько советов:
Здесь можно найти некоторую полезную информацию относительно Ньютона в целом:
http://newtondynamics.com/wiki/index.php5?title=Joints
http://newtondynamics.com/forum/viewforum.php?f=9
Так же нужно внимательно подразобраться с примерами по физике в Квесте:
c:\Program Files\Quest3D\Quest3D 4.3\Examples\Physics\
Затем создать простую модель танка, и попытаться прикрутить к нему колеса, например как на прикрепленной картинке.
В физике Ньютона возможно создавать разные материалы (например одному объекту сделать один материал, другому другой, затем сказать ньютону, что – бы между этими материалами не учитывать столкновения, это очень полезно, и наверняка Вам пригодится)
При моделировании физики часто используют пустые объекты, для того, что бы через них, скреплять в связку между собой другие объекты, через специальные соединения (джоинты).
Очень интересная тема, по возможности, с удовольствием буду участвовать в ее обсуждении, надеюсь, найдутся люди, которым интересна данная тема, и они тоже изложат свои мысли, и помогут советами.
Удачи!
Я вот подумал , а возможно гусеницы между собой соеденить методом дверных петель ???
Или с помощью какой программы можно симитировать гусеницу и колесо танка ???
В теории можно, но на практике, только впустую потратишь время, потому, что будет тормозить, и наверняка столкнешся с массой проблем.. лучший способ это проверить - попробовать сделать :)
Предлогаю, как вариант сделать колеса, как на прикрепленной каринке.
Кстате, коллизия для колеса не обязательна должна соответствовать модели колеса для визуализации ;) (колесо для визуализации, можно просто анимировать(вращение) как и гусеницу, и все будет плавно и реалистично, а вот объект колеса для коллизии, может прогребать и цеплятся за препятствия, как угодно..)
Я предложил вариант, который реально реализуется в квесте, а там смотрите сами..
Натолкнулся на референсы танков, размещу ссылку здесь на всякий случай, вдруг кому понадобится
http://tankinlens.narod.ru/bttrus.htm
Танки рулят!
как вариант - рипнуть с игры Worlds of Tanks пару моделей