public CharacterCamera()
        {
            _rotation = new RotationalConstraints
            {
                Down = 80,
                Side = 180,
                Up   = 80
            };

            _distance = new DistanceSettings
            {
                Minimum = 0.2f,
                Maximum = 2f
            };
        }
        public HeadMountedCamera()
        {
            _heading   = new ReactiveProperty <float>();
            _elevation = new ReactiveProperty <float>();

            _rotation = new RotationalConstraints
            {
                Down = 65,
                Side = 85,
                Up   = 60
            };

            _focus   = new FocusSettings();
            _focused = new ReactiveProperty <Transform>();
        }
        public ThirdPersonCamera()
        {
            _rotation = new RotationalConstraints
            {
                Down = 80,
                Side = 180,
                Up   = 80
            };

            _distance      = new DistanceSettings();
            _wallAvoidance = new WallAvoidanceSettings();

            _focus = new FocusSettings
            {
                TrackFocus = false
            };

            _focused = new ReactiveProperty <Transform>();
        }