Unity 6.3
0 онлайн 83 гостей 3 в системе
Вход

Camera.SetStereoViewMatrix

Declaration

public void SetStereoViewMatrix(Camera.StereoscopicEye eye, Matrix4x4 matrix);

Параметры

Параметр Описание
глаз Указывает матрицу стереоскопического изображения, которую нужно установить.
матрица Матрица для установки.

Описание

Задает настраиваемую матрицу представления для конкретного стереоскопического глаза.

В целом, вы должны использовать матрицы представления, предоставленные XRDisplaySubsystem для точного стереоскопического рендеринга. Однако при необходимости матрицы вида можно переопределить, чтобы добиться особых эффектов. Например, собственные матрицы проекции и вида понадобятся, чтобы реализовать бинокль в VR.

Когда вы устанавливаете матрицы настраиваемых представлений, Camera анализирует их, чтобы определить, безопасно ли использовать один пропуск вычеркивания или нужно вычеркивать каждый глаз отдельно. Использование Camera.areVRStereoViewMatricesWithinSingleCullTolerance чтобы узнать, какие из них будут использованы.

Вызов Camera.ResetStereoViewMatrices для возврата камеры к использованию матриц изображений, предоставляемых в соответствии XRDisplaySubsystem. Следует отметить, что 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); } }