2014-11-16 2 views
5

В чем разница между ограничивающей коробкой и прямоугольником?Ограничительная коробка против прямоугольника

Этот вопрос касается только классов Unity 3D Bounds и Rect, но я заинтересован в общем ответе.

В частности:

  • Что лучше на производительность?
  • Является ли ограничивающая коробка просто 3D-прямоугольником?
  • Когда я должен отдать предпочтение одному другому?
  • Являются ли они взаимозаменяемыми, и если да, то почему Unity 3D имеет для них отдельные классы?
  • Любые другие знания, которые вы можете дать, были бы очень благодарны!

ответ

4

Что лучше на производительность?

Неприменимо. Они одинаковы в 2D, а в 3D они имеют разное значение/использование.

Является ли ограничивающая коробка просто трехмерным прямоугольником?

Существует не такая вещь, как 3D-прямоугольник. Вы имеете в виду коробку. Ограничивающая коробка - это коробка, которая достаточно велика, чтобы охватить все связанные друг с другом части сущности/модели.

Когда я предпочитаю друг друга?

Невосприимчивый, см. Первый абзац.

Являются ли они взаимозаменяемыми условиями, и если да, то почему Unity 3D имеет для них отдельные классы?

Опять же, 2D против 3D.

Любые другие знания, которые вы можете дать, были бы очень благодарны!

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

+0

Мне нравится, как вы могли буквально суммировать весь свой ответ в слово «Irrelevant», и это все равно будет иметь то же значение. – Hobbyist

2

Основное отличие - 2d vs 3d.

Вы не можете определить границу 3D-объекта с прямоугольником 2d.

В теории вы можете использовать Bounds вместо Recto (путем установки одной оси на 0), но не Rect вместо Bounds. Будет небольшая потеря перфоманса, поскольку Bounds потребует больше данных.

Аббот Flatland классический обзор взаимодействия между 2D и 3D пространстве