我需要在 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;
视口有一个轨迹球装饰器,它允许用户围绕场景旋转相机。但是我想要一个功能将相机重置回原来的位置,但是一旦创建,我就找不到直接设置它的位置的方法。