wpf 동적으로 obj 형식의 3D 모델 불러오기
3097 단어 WPF
다음은 나의 간단한 마운트 코드입니다: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 도구로 생성된 파일을 지원하지 못하기 때문입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MaterialDesign의 ComboBox HasClearButton 크기 변경WPF MaterialDesign은 편리하지만 때로는 표시가 너무 크거나 약간 사용하기 쉽습니다. ComboBox를 사용할 때 선택한 버튼을 지우려면 지우기 버튼을 표시할 수 있습니다. 아래와 같은 표시가 됩니다 다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.