2012-02-17 32 views
0

WPF 3Dビューポートで3Dカメラの位置をリセットする必要があります。私は3Dtoolsのトラックボールデコレータを使用しています。私は、私が使用して、カメラの変換をクリアすることができます見つけたの周りハッキング:私は、もはやカメラを推測しない変換行列を持っているんだとWPF 3Dカメラ位置

Transform3DGroup group = camera.Transform as Transform3DGroup; 
group.Children.Clear(); 

は、しかし、これはトラックボールを壊します。私が作成した場所にカメラを戻す方法はありますか?手動でカメラの位置を変更して、トラックボールを動かせるようにする方法はありますか?

編集:

Iの透視カメラを作成し、次のコードを使用して3Dビューポートに追加:

perspectiveCamera.Position = new Point3D(sceneSize.X * 4 , 
             sceneSize.Y , 
             sceneSize.Z * (-4)); 

CameraLookAt = new Point3D(0, (sceneSize.Y/2), 0); 

perspectiveCamera.LookDirection = new Vector3D (
            CameraLookAt.X - perspectiveCamera.Position.X, 
            CameraLookAt.Y - perspectiveCamera.Position.Y, 
            CameraLookAt.Z - perspectiveCamera.Position.Z); 
perspectiveCamera.FieldOfView = 24; 

Viewport_3D.Camera = perspectiveCamera; 

ビューポートは、ユーザが周りにカメラを回転させることができるトラックボールデコレータを有しますシーン。しかし、私は元の位置に戻ってカメラをリセットする機能が欲しいが、私は一度作成された位置を直接設定する方法を見つけることができません。

+0

もう少し説明を元の値にしてください割り当て – Bug

答えて

0

まずあなたがカメラで使用、あなたが方法 camera.ApplyAnimationClock(ProjectCamera.PositionProperty、ヌル)を介してそれを行うことができ、アニメーションを削除する必要がありますが、カメラに

関連する問題