Смещение визуализированного результата камеры в Unity

Я пытаюсь сделать так, чтобы все, что рендерилось моей перспективой «Камера А», казалось на 100 пунктов выше. Это связано с тем, что у моего приложения есть интерфейс с открытым пространством в верхней части.

В моем приложении функция распознавания лиц используется для имитации движения лица аватара в игре. Для этого я вычисляю «Модель-Вид-Матрицу», чтобы установить ее в «worldToCameraMatrix» камеры.

Пока это работает хорошо, но все визуализируется с центром в качестве начала координат, теперь я хочу переместить этот центр начала координат на определенное расстояние «вверх», чтобы он соответствовал моему интерфейсу.

Есть ли способ сообщить Unity о смещении результата рендеринга камеры?

Альтернатива, о которой я подумал, - это рендеринг в текстуру, после чего я могу просто переместить саму текстуру, но я подумал, что должен быть более простой способ.


Кстати, моя основная камера ортогональная, и я использую ее для рендеринга текстуры камеры. В этом случае простое перемещение игрового объекта рендеринга в четыре раза больше делает свое дело.


Я нашел свойство под названием «pixelRect», в описании говорится:

Где на экране отображается камера в пиксельных координатах.

Однако перемещение центра вверх, кажется, уменьшает мои объекты.


person Pochi    schedule 29.04.2016    source источник
comment
Не уверен, что понимаю то, что вы пытаетесь получить, но попробуйте изменить значения в прямоугольнике Viewport компонента камеры. Может это то, что ты хочешь.   -  person Everts    schedule 29.04.2016
comment
Окно просмотра, кажется, меняет масштаб визуализации. Все, что я хочу, это сделать так, чтобы что-то отображалось выше на экране (не в трехмерном мире).   -  person Pochi    schedule 29.04.2016
comment
да, прямоугольник камеры не идеален, потому что он не выходит за пределы фактического область экрана. Вам просто нужно будет компенсировать масштабирование, отрегулировав значение orthographicSize вашей камеры. в качестве альтернативы встроите корректировку смещения в свои вычисления для worldToCameraMatrix, как вы говорите, используйте текстуру   -  person Rob    schedule 29.04.2016
comment
Фактически, настройка orthographicSize не помогает так, как вы хотите. Я чувствую, что единственный способ получить то, что вы хотите, - это настроить камеру localPosition.y в LateUpdate.   -  person Rob    schedule 29.04.2016


Ответы (1)


Вы можете установить прямоугольник / ортогональный размер окна просмотра так, чтобы его смещение, или вы могли выполнить рендеринг в текстуру рендеринга и визуализировать ее как наложение со смещением или различием в масштабе.

Ваше здоровье

person Chris    schedule 29.04.2016