private void KeyBoardMovedPosition(Key key, PerspectiveCamera camera, double scale, int ms, bool isPrintPosi = false) { if (key == Key.W) { camera.MoveVectorAnimation( Vector3D.Multiply(camera.LookDirection, scale), scale, new Duration(TimeSpan.FromMilliseconds(ms))); //camera.Position += Vector3D.Multiply(camera.LookDirection,scale); } if (key == Key.S) { camera.MoveVectorAnimation( -Vector3D.Multiply(camera.LookDirection, scale), scale, new Duration(TimeSpan.FromMilliseconds(ms))); //camera.Position -= Vector3D.Multiply(camera.LookDirection, scale); } if (key == Key.A) { camera.MoveVectorAnimation( -Vector3D.Multiply(camera.LeftDirection(), scale), scale, new Duration(TimeSpan.FromMilliseconds(ms))); //camera.Position -= Vector3D.Multiply(camera.LeftDirection(),scale); } if (key == Key.D) { camera.MoveVectorAnimation( Vector3D.Multiply(camera.LeftDirection(), scale), scale, new Duration(TimeSpan.FromMilliseconds(ms))); //camera.Position += Vector3D.Multiply(camera.LeftDirection(), scale); } if (key == Key.Space) { camera.MoveVectorAnimation( Vector3D.Multiply(camera.UpDirection, scale), scale, new Duration(TimeSpan.FromMilliseconds(ms))); //camera.Position += Vector3D.Multiply(camera.UpDirection,scale); } if (key == Key.LeftShift) { camera.MoveVectorAnimation( -Vector3D.Multiply(camera.UpDirection, scale), scale, new Duration(TimeSpan.FromMilliseconds(ms))); //camera.Position -= Vector3D.Multiply(camera.UpDirection, scale); } if (isPrintPosi) { Console.WriteLine($"{camera.Position.X}, {camera.Position.Y}, {camera.Position.Z}"); } }