public static VirtualScreen CreateScreen(VirtualScreen.Kind kind, Vector3 dimensions, Transform parent) { var screen = new GameObject($"Virtual Screen {kind}").AddComponent <VirtualScreen>(); var transform = screen.transform; var size = Vector2.zero; screen.kind = kind; transform.parent = parent; transform.localPosition = VirtualScreen.GetLocalPosition(kind, dimensions); transform.localRotation = VirtualScreen.GetLocalRotation(kind); switch (kind) { case VirtualScreen.Kind.Front: case VirtualScreen.Kind.Back: screen.width = dimensions.x; screen.height = dimensions.y; break; case VirtualScreen.Kind.Left: case VirtualScreen.Kind.Right: screen.width = dimensions.z; screen.height = dimensions.y; break; case VirtualScreen.Kind.Top: case VirtualScreen.Kind.Bottom: screen.width = dimensions.x; screen.height = dimensions.z; break; } return(screen); }
public void Reset() { this.screenKind = VirtualScreen.Kind.Front; this.stereoTarget = VirtualEyes.StereoTarget.Mono; this.m_Calibration.projectionCorrection = false; this.m_Calibration.projectionQuad = Quad.Unitary(); }
public static VirtualCamera CreateCamera(VirtualEnvironment environment, VirtualScreen.Kind kind, VirtualEyes.StereoTarget target) { var camera = new GameObject($"Virtual Camera {kind}") .AddComponent <VirtualCamera>(); if (target != VirtualEyes.StereoTarget.Mono) { camera.name += target == VirtualEyes.StereoTarget.Left ? " L" : " R"; } camera.stereoTarget = target; camera.screenKind = kind; camera.transform.parent = environment.transform; camera.transform.position = environment.eyes.transform.position; camera.transform.rotation = environment.transform.rotation * VirtualScreen.GetLocalRotation(kind); return(camera); }