Я сталкивался с несколькими сценариями для «поддельных» коллайдеров, использующих Bounds
- главным образом, когда мне нужно только удерживать объект внутри определенной области (используя Bounds.Contains
), и я не хочу, чтобы он участвовал вфизика.
Я знаю, что мог бы использовать Триггер для этого, но для этого потребовался бы выделенный слой, который не подходит, так как в моей игре нет слоев.
Я создал простойBoundsHolder
скрипт, который использует локальный размер / центр для расчета границ. Я отображаю их в редакторе, используя Gizmos.DrawWireCube
- это прекрасно работает, как показано ниже:
![Custom Bounds Holder inspector + scene gizmo](https://i.stack.imgur.com/VUxVk.png)
Но я хотел бы добавить элементы управления перетаскиванием BoxCollider
имеет для увеличения моих границ:
![Unity BoxCollider Scene gizmo with drag-to-enlarge handles](https://i.stack.imgur.com/0tBKd.png)
Я искал в Google + просмотр документов на Gizmos
и Handles
- Но всетам, похоже, есть функции рисование кубов, а не изменение размеров инструментов.
Есть ли встроенный инструмент для воссоздания этого, которого мне не хватает?
Если нет - , как лучше всего это сделать?
Бонусный вопрос- Мой BoundsHolder использует UnityEngine.Bounds
, то есть ось-выровнен и не поддерживает вращение. Есть ли альтернативная версия, которая поддерживает вращение? (и все еще предоставляет Contains(Vector3)
API?)
Спасибо