Пуля физика мультисфера тело высасывается из земли

Я сделал несколько попыток исправить это и прочитать все, что я мог найти здесь / forum / google. Я использовал порог ПЗС, меньший, чем скорость перемещения моих объектов, и использовал радиус ПЗС, намного меньший, чем половинный радиус объектов. Единственное, что это делает, это заставляет мультисферу застревать на швах. Я также попытался установить ERP / ERP2 на 0,9 / 1,0.
[РЕДАКТИРОВАТЬ] Хорошо, так что после еще немного чтения; CCD не будет работать, если сфера уже касается земли, а ERP влияет только на объекты с суставами, если я правильно понимаю.

Основание — это тримеш, созданный в Blender и использующий receiveStaticNodeShape для получения формы. Я пытался масштабировать сетку, чтобы получить меньшие полигоны, но даже самый маленький (для игры приемлемый) размер не работает, около 32 тыс. Индексов с 11 тыс. Полисов, 500х500 единиц, мультисфера имеет радиус 0,45 единиц.
[РЕДАКТИРОВАТЬ] мультисфера представляет собой две сферы друг на друга, и они ограничены угловым движением только вокруг оси Y, поэтому не катятся.

Сфера быстро «высасывается» из земли, она медленно не тонет. Я попытался сделать фиксированный временной шаг меньше 1/420 с 64 подэтапами, но не дал лучших результатов. Чаще всего это происходит при подъеме или спуске по склону. Моя земля пологая, но уклона в 20% кажется достаточным для того, чтобы она сильно провалилась, но это может случиться и на ровной поверхности, но не так часто.

Когда я делал свой первый тест, я использовал большой вытянутый куб в качестве грунта, и он работал хорошо.

Итак, моя проблема сейчас в том, что я даже не знаю, почему это происходит, поэтому я понятия не имею, что попробовать дальше? Может кто-нибудь, пожалуйста, дайте мне решение или несколько указателей.

Есть ли смысл в увеличении размера мультисферы (для игры я не могу увеличить больше, чем на 25-30%) Я не устанавливал явно поля столкновения, но думаю, что это просто заставило бы мою сферу плавать над землей? Есть ли какая-то выгода в смене земли со статического объекта на кинематический?

Будет ли это работать, чтобы использовать raytest от сферы прямо вниз и толкать его вверх, если он ниже земли? Я думаю, нет, с чего бы это провалилось, если бы он мог обнаружить землю в первую очередь ..?

[РЕДАКТИРОВАТЬ: дополнительная информация] Подобные проблемы встречаются на форумах довольно часто, а также при переполнении стека. Большинство, кажется, об очень маленьких объектах. Небольшие объекты (> 0,2 м) явно не подходят для пули, если вы не хотите значительно увеличить количество шагов моделирования. Кажется, мои проблемы не подпадают под эту категорию, так как мой самый маленький объект имеет диаметр 0,9 м?

Теперь я также провел отладочный розыгрыш, чтобы увидеть нормали тримеша, которые я использую в качестве основания. Я не могу найти никаких ошибок с нормальными.

Я также пытался увеличить границы столкновения сфер, но безрезультатно.

Далее я попытался использовать предложенные настройки:
((btDefaultCollisionConfiguration) world.collisionConfiguration) .setPlaneConvexMultipointIterations (3,3); ((btDefaultCollisionConfiguration) world.collisionConfiguration) .setConvexConvexMultipointIterations (3, 3);
Нет разницы.

Тем не менее, я читал о том, что большие тримиши не очень хорошо работают для радиопередачи, моя сетка имеет большие 512×512 единиц, но я не уверен, может ли это привести к тому, что мой объект провалится через сетку?

Я также читал, что у сферных фигур есть проблемы с тримешками, но опять же я не уверен, что это мой случай? Сфера, которую я использую, заблокирована для вращения по всем осям.

Я также пытался использовать btCapsule, но он дал те же результаты. Будет ли цилиндр работать лучше?
[РЕДАКТИРОВАТЬ] Вместо этого я попытался использовать цилиндр, поскольку сфера и капсула не работали. Цилиндр работает намного лучше. У меня все еще есть шанс провалиться один раз, хотя. Клиндер много дергался, прежде чем прошел сквозь то, где сфера / капсула проходили бы очень быстро и легко. Может быть, это может быть ключом к пониманию проблемы? Цилиндр не лучший для формы персонажа, хотя ..

Другая возможная причина может заключаться в том, что треугольник в сетке имеет слишком длинные стороны или большое соотношение сторон. Я нашел несколько таких на склоне, где моя сфера всегда проваливается. Если это действительно проблема, могу ли я что-нибудь с этим сделать, кроме ручного редактирования сетки в Blender?

Как вы можете видеть, есть много этих вопросов и много возможных ответов, и я понятия не имею, какой из них соответствует моему случаю, кто-то с лучшим пониманием, дающий несколько указателей, будет много значить, спасибо!

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector