Поворот камеры в зависимости от объекта перед камерой.

Общие вопросы о Unity3D

Поворот камеры в зависимости от объекта перед камерой.

Сообщение FreeUnity 30 мар 2012, 01:42

Подскажите, пожалуйста, как лучше всего решить вот такую задачу:

есть gameobject, например, кирпич - длинной примерно 12 м.,
есть камера, размещена перпендикулярно кирпичу:
- пользователь может менять FoV камеры (10 > FoV< 60);
- камера неподвижна, но может поворачиваться на определенный угол по ости Y, так, чтобы границы (начало, конец) кирпича, камера никогда не видела,
фактический угол поворота камеры влево или вправо определяется длинной объекта т.е. кирпича.

Суть в чем, определить угол поворота камеры в зависимости от объекта, который находится перед камерой. Камера должна смотреть всегда на этот объект и может поворачиваться влево или вправо, в зависимости от длинны объекта и как только камера "подходит" к какому-то из краев объекта - должна останавливаться, чтобы объект попадал целиком в камеру, т.е. не выходить за границы объекта.

Решение такое пришло, пустить два луча (в зависимости от текущего FOVa камеры) по оси Z камеры в сторону кирпича и как только один из лучей увидит "конец" объекта, останавливать камеру.

Возможно как-то по-другому решить данную задачу?
Аватара пользователя
FreeUnity
UNец
 
Сообщения: 16
Зарегистрирован: 07 дек 2011, 15:39

Re: Поворот камеры в зависимости от объекта перед камерой.

Сообщение Левш@ 30 мар 2012, 03:16

Нормальное решение, только не 2, а 1 луч поочередно в разных направлениях через кадр.
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13