2016-08-05 2 views
0

Я пробовал каждый из снятия флажка с матрицы и удаления сфера. Проблема, с которой я сталкиваюсь, - это то, что игровые объекты не перестают проходить друг с другом. Я не знаю, что происходит. У меня есть пример того, что происходит: enter image description hereКак остановить два игровых объекта друг от друга на unity3d

+0

Зачем вам удалять сфера сфера? Сколько коллайдеров есть? Если вы отметите «Триггер», он делает его проницаемым. Существует коэффициент проникновения, связанный со скоростью. Иногда высокая скорость игнорирует столкновения. Вам может понадобиться несколько коллайдеров с вашим npcs. –

+0

как вы перемещаете свои объекты игры? – TheDjentleman

ответ

0

Прежде всего, не удаляйте коллайдеры и убедитесь, что они не установлены на Is Trigger (что делает коллайдер проницаемым). Кроме того, вы используете сферический коллайдер для довольно сложной сетки, поэтому я рекомендую использовать MeshCollider, который будет генерировать его в соответствии с сеткой.

Во-вторых, повторите проверку, как вы перемещаете объекты. Если ему придается слишком много силы, он может пробиться через другой коллайдер и не выбраться из него (представьте, что вы пробиваете барьер и внутри него вы не можете получить достаточную скорость, чтобы вырваться из него снова). Это может произойти, если вы используете AddForce() и не увеличиваете transform.velocity.

В-третьих, что контролирует эти игровые объекты? Игрок или NavMeshAgent? Потому что, я думаю, если они контролируются AI (NavMeshAgent), они должны избегать друг друга на своих путях и не должны сталкиваться. Однако я могу ошибаться в этом вопросе.

+0

У меня нет навигационной сетки, и все проверяется. У меня есть сценарий. Я попробую nav mesh. –

+0

Я использую nav mesh, и он работает благодаря. –

+0

Я думаю, что самый простой способ избежать этого - использовать meshcollider, если геометрия объекта неравномерна, в противном случае избегайте meshcollider, если вы используете meshcollider, просто помните, что один из них должен иметь жесткое тело и выпуклый вариант на компоненте meshcollider, должен быть тик –

Смежные вопросы