簡體   English   中英

WPF 3D相機位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM