Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }