Параметры
eye | Указывает матрицу стереоскопического вида для установки. |
matrix | Матрица, которую необходимо установить. |
Описание
Задает пользовательскую матрицу просмотра для определенного стереоскопического глаза.
В большинстве случаев следует использовать матрицы просмотра, предоставляемые VR SDK, чтобы обеспечить точную стереоскопическую визуализацию. Однако в некоторых сценариях может быть полезно переопределить матрицы представления для достижения определенных эффектов. Например, для реализации биноклей в виртуальной реальности потребуются настраиваемые матрицы просмотра.
Если были установлены пользовательские матрицы просмотра, камера проанализирует матрицы просмотра, чтобы определить, безопасно ли использовать один проход отбраковки или необходимо отдельно отбирать каждый глаз. Используйте Camera.areVRStereoViewMatricesWithinSingleCullTolerance, чтобы узнать, какие из них будут использоваться.
Вызов Camera.ResetStereoViewMatrices вернет камеру к использованию матриц просмотра, предоставляемых VR SDK. Обратите внимание, что Camera.stereoSeparation не будет применяться, пока вы не вызовете Camera.ResetStereoViewMatrices.
Смотрите так же: Camera.ResetStereoViewMatrices, Camera.stereoSeparation, Camera.areVRStereoViewMatricesWithinSingleCullTolerance
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
Camera cam = GetComponent<Camera>();
Matrix4x4 viewL = cam.worldToCameraMatrix;
Matrix4x4 viewR = cam.worldToCameraMatrix;
viewL[12] += 0.011f;
viewR[12] -= 0.011f;
cam.SetStereoViewMatrix(Camera.StereoscopicEye.Left, viewL);
cam.SetStereoViewMatrix(Camera.StereoscopicEye.Right, viewR);
}
}