Есть ли способ найти объем пересечения между двумя коробочными коллайдерами в единстве? - PullRequest
0 голосов
/ 16 января 2019

Я работаю над проектом, использующим Unity 3D, и мне нужно вычислить объем пересечения между ящиками-коллайдерами объектов в сцене. Класс box boxider, похоже, не имеет никакой функции для этого. Любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 17 января 2019

Вы хотите использовать Physics.ComputePenetration() Его можно использовать для определения немного большего, чем просто пересекаются ли они, но если это все, что вам нужно, он отлично справляется со своей работой.

https://docs.unity3d.com/ScriptReference/Physics.ComputePenetration.html

Введите правильные аргументы, и он вернет true, если коллайдеры перекрываются.

Пример:

BoxCollider box1; //first collider
BoxCollider box2; //second collider
float distance; //how far they need to move apart
Vector3 direction; //which direction they need to move apart in
bool hasCollided = ComputePenetration(  box1, box1.transform.position, box1.transform.rotation, 
                                        box2, box2.transform.position, box2.transform.rotation, 
                                        out direction, out distance);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...