[英]WPF 3D camera position
我需要在WPF 3D視口中重置3D相機位置。 我正在使用3Dtools的軌跡球裝飾器。 我發現我可以使用以下方法清除攝像機的轉換:
Transform3DGroup group = camera.Transform as Transform3DGroup;
group.Children.Clear();
但這打破了軌跡球,因為我猜相機不再具有變換矩陣。 有什么方法可以將相機恢復到其創建位置,即:我可以手動重新放置相機並使跟蹤球仍然工作嗎?
編輯:
我創建一個透視相機,並使用以下代碼將其添加到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;
視口具有跟蹤球裝飾器,該裝飾器允許用戶圍繞場景旋轉相機。 但是我希望有一個功能可以將相機重設回其原始位置,但是我找不到找到一種方法來直接設置它的位置。
首先,您應該刪除相機上使用的動畫,可以通過方法camera.ApplyAnimationClock(ProjectCamera.PositionProperty,null)進行操作,然后將原始值分配給相機
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.