讲完了SvrSettings中核心属性的功能,在SvrManager中保存了一个SvrSettings的变量:
[SerializeField]
public SvrSettings settings;
开发者通过SvrManager.Instance.settings 可以动态改变SvrSettings的属性。
之后SvrManager中定义了SvrStatus的类:
[Serializable]
public class SvrStatus
{
[Tooltip("SnapdragonVR SDK Initialized")]
public bool initialized = false;
[Tooltip("SnapdragonVR SDK Running")]
public bool running = false;
[Tooltip("SnapdragonVR SDK Pose Status: 0/None, 1/Rotation, 2/Position, 3/RotationAndPosition")]
public int pose = 0;
}
[SerializeField]
public SvrStatus status;
该类定义了三个变量,表示当前SDK的运行状态,其中initialized表示SDK是否已经初始化完成,running表示SDK是否处于运行状态,pose表示SDK的当前运行的类型,类型包括Rotation、Position以及RotationAndPosition。
通过SvrManager.Instance.status,开发者可以动态读取或改变SvrStatus中的值。
[Header("Camera Rig")]
public Transform head;
public Camera monoCamera;
public Camera leftCamera;
public Camera rightCamera;
public Camera leftOverlay;
public Camera rightOverlay;
public Camera monoOverlay;
public SvrOverlay fadeOverlay;
public Vector2 FocalPoint { get; set; } // Foveated Rendering Focal Point
public int FrameCount { get { return frameCount; } }
private int frameCount = 0;
之后SvrManager又定义了多个Camera属性,其中最重要的是rightCamera和leftCamera属性表示的是左右眼的Camera物体。
FrameCount表示当前运行的帧数。