예제 #1
0
        public ThirdPersonCamera(ITargetNode targetNode, InputComponent input)
            : base()
        {
            this.TargetNode = targetNode;
            this.input = input;

            // Constants

            Zoom = 330;
            RotationSpeed = .05f;
            RotationMagnet = .075f;
            TranslationMagnet = .98f;

            //lookUpOffset = Zoom * new Vector3(0, .275f, 0);
            //translationOffset = Zoom * new Vector3(0, .2f, 1);

            cameraRotation = TargetNode.RotationMatrix;
            cameraTranslation = TargetNode.TranslationMatrix;

            Position = Vector3.Transform(translationOffset, cameraRotation * cameraTranslation);
            View = Matrix.CreateLookAt(Position,
                Vector3.Transform(lookUpOffset, cameraRotation * cameraTranslation), Vector3.Up);
        }
        public ThirdPersonCamera(ITargetNode targetNode, InputComponent input)
            : base()
        {
            this.TargetNode = targetNode;
            this.input      = input;

            // Constants

            Zoom              = 330;
            RotationSpeed     = .05f;
            RotationMagnet    = .075f;
            TranslationMagnet = .98f;

            //lookUpOffset = Zoom * new Vector3(0, .275f, 0);
            //translationOffset = Zoom * new Vector3(0, .2f, 1);

            cameraRotation    = TargetNode.RotationMatrix;
            cameraTranslation = TargetNode.TranslationMatrix;

            Position = Vector3.Transform(translationOffset, cameraRotation * cameraTranslation);
            View     = Matrix.CreateLookAt(Position,
                                           Vector3.Transform(lookUpOffset, cameraRotation * cameraTranslation), Vector3.Up);
        }