Если вы можете использовать орфографическую камеру, вы можете динамически установить orthographicSize
камеры на основе size
из bounds
GameObject.Это, вероятно, самое простое решение.
Если вам нужна перспективная камера, вы можете получить Plane
s или углы усечения камеры через GeometryUtility.CalculateFrustumPlanes(Camera.main)
или Camera.CalculateFrustumCorners
и использовать результаты от одного до ручного.проверьте, что ваш Bounds
полностью внутри.
С помощью перспективной камеры вы также можете рассчитать необходимое расстояние от объекта на основе размера границ объекта и поля зрения камеры.Если я не ошибаюсь, это будет что-то вроде distance = 0.5 * size / tan(0.5 * fov)
, но функция не должна быть точной;это просто должно работать для вашей камеры.В качестве альтернативы, вы можете поддерживать постоянное расстояние и вычислять FOV по размеру объекта, хотя я бы не рекомендовал этого, потому что частые FOV изменяют звучание, дезориентирующее зрителя;я хочу сказать, что есть много вариантов.