wpf 동적으로 obj 형식의 3D 모델 불러오기

3097 단어 WPF
며칠 전 한 네티즌이 도구에 3D로 불러온 코드가 있는 것을 발견하고 뽑아 수정했다.나도 다행히 하나 얻었어.지금 꺼내서 여러분과 나누겠습니다.
다음은 나의 간단한 마운트 코드입니다:obj 파일이 있는 경로는 스스로 수정하십시오
 1:  PerspectiveCamera myPCamera;
 2:  
 3:          public MainWindow()
 4:          {
 5:              InitializeComponent();
 6:              WavefrontObjLoader wfl = new WavefrontObjLoader();
 7:              slider1.ValueChanged += new RoutedPropertyChangedEventHandler<double>(slider1_ValueChanged);
 8:              slider2.ValueChanged += new RoutedPropertyChangedEventHandler<double>(slider1_ValueChanged);
 9:              slider3.ValueChanged +=new RoutedPropertyChangedEventHandler<double>(slider1_ValueChanged);
10:  
11:             myPCamera = new PerspectiveCamera();
12:  
13:             // Specify where in the 3D scene the camera is.
14:             myPCamera.Position = new Point3D(0, 0, 200);
15:  
16:             // Specify the direction that the camera is pointing.
17:             myPCamera.LookDirection = new Vector3D(0, 0, -1);
18:  
19:             // Define camera's horizontal field of view in degrees.
20:             myPCamera.FieldOfView = 1000;
21:  
22:             // Asign the camera to the viewport
23:             vp.Camera = myPCamera;
24:  
25:             Model3DGroup myModel3DGroup = new Model3DGroup();
26:  
27:             DirectionalLight myDirectionalLight = new DirectionalLight();
28:             myDirectionalLight.Color = Colors.White;
29:             myDirectionalLight.Direction = new Vector3D(-0.61, -0.5, -0.61);
30:  
31:             myModel3DGroup.Children.Add(myDirectionalLight);
32:             var m = wfl.LoadObjFile(@"d:\3d\1.obj");
33:              m.Content =myModel3DGroup;
34:             vp.Children.Add(m);
35:          }
36:  
37:          void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
38:          {
39:              myPCamera.Position = new Point3D(slider2.Value , slider1.Value, slider3.Value);
40:          }
41:  

이러한 일부 obj 파일이 불러오지 않습니다. 아마도 너무 새로운 3Dmax 도구로 생성된 파일을 지원하지 못하기 때문입니다.

좋은 웹페이지 즐겨찾기