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); }