Как установить положение камеры maunally в cs-файле в WPF 3D, когда он вращается мышью, я использовал camera. transform=mouse.свойство преобразования
я создал 3D-объект в wpf 3d и использовал перспективную камеру, позиции которой изменяются событием перемещения мыши.
ниже приведен код xaml
d:DesignHeight="300" d:DesignWidth="600"> <Grid Name="objGrid" MouseDown="Grid_MouseDown" MouseUp="Grid_MouseUp" MouseMove="Grid_MouseMove" Focusable="True"> <Border Name="border" Background="White" MouseDown="border_MouseDown" BorderBrush="White" BorderThickness="2" CornerRadius="0" Padding="25" Margin="0,-21,0,10"> <Viewport3D Name="mainViewPort" ClipToBounds="True" Opacity="10"> <Viewport3D.Camera > <PerspectiveCamera x:Name="camera" FarPlaneDistance="100" LookDirection="0, 0, -5" UpDirection="0,1,0" NearPlaneDistance="1" Position="0, 0, 5" FieldOfView="50" /> </Viewport3D.Camera> <ModelVisual3D> <ModelVisual3D.Content> <AmbientLight x:Name="directionLightOfMainViewPort" Color="White"/> </ModelVisual3D.Content> </ModelVisual3D> </Viewport3D>
я хочу вручную установить положение камеры в событии нажатия кнопки.
то есть я хочу, чтобы грани объекта появлялись в событии нажатия кнопки.
Что я уже пробовал:
я хочу сделать это в cs-файле, а не в xaml...
я пытался следовать коду..
TranslateTransform3D obj = new TranslateTransform3D(); //solidCubeMV3D.Transform.Value.OffsetX = 0; //camera.Reset(); //Vector3D lookDirection = new Vector3D(0, 0, -5); Vector3D updirection = new Vector3D(0, 1, 0); Point3D position = new Point3D(0, 0, 5); //camera.LookDirection = lookDirection; camera.UpDirection = updirection; camera.Position = position; //camera.ChangeDirection(new Vector3D(0, 0, -5),new Vector3D(0,1,0),0.5); mainViewPort.Camera = this.camera; // camera.Transform = new Transform3DGroup(); //camera.Transform = trackball.Transform; //solidCubeMV3D.Transform = camera.Transform; // trackball.EventSource = objGrid; // camera.Transform = trackball.Transform; // objGrid.MouseWheel += new System.Windows.Input.MouseWheelEventHandler(objGrid_MouseWheel);
пожалуйста, помогите мне, как это сделать, так как я новичок в wpf