Мне нужно сбросить положение 3D-камеры в окне просмотра WPF 3D. Я использую декоратор трекбола от 3Dtools. Взлом вокруг я обнаружил, что я могу очистить преобразование камеры с помощью:Позиция 3D-камеры WPF
Transform3DGroup group = camera.Transform as Transform3DGroup;
group.Children.Clear();
Однако это нарушает трекбол, как я угадал камеру больше не имеет преобразование матрицы. Есть ли способ вернуть камеру туда, где я ее создал, то есть: могу ли я вручную изменить положение камеры и работать трекбол?
Edit:
создать перспективную камеру и добавить ее в 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;
Окно просмотра имеет трекбол декоратора, который позволяет пользователю вращать камеру вокруг сцена. Однако я хочу, чтобы функция сбросила камеру обратно в исходное положение, но я не могу найти способ напрямую установить ее позицию после ее создания.
Немного больше объяснений, пожалуйста, – Bug