3dmax導出到blend或者vs中


 使用3dmax將模型導成obj格式的時候,可以導出材質或者不導出。

1、如果不導出,則按下圖不勾選導出材質和創建材質庫選項。這樣生成的obj是可以直接再blend或者vs中打開的。

 2、如果導出,不僅需要勾選導出材質和創建材質庫,還需要點一下材質導出,再跳出的對話框中選擇使用材質路徑,不然導出的模型是無法在blend或者vs中打開的。

 

3、vs讀取3d模型的類,這個類是網上找的別人的,並且只能讀取obj格式的,優點是可以直接讀取obj並加載到xmal中。缺點是只有調用這個類才能才能加載到界面中,不能在程序運行前就加載模型,無法對模型進行交互式編程。

下面是這個這個類的引用:

首先是xmal代碼的Viewport3D。

1         <Viewport3D x:Name="vp" Margin="49.2,23.8,35.8,27.8">
2             <Viewport3D.Camera>
3                 <PerspectiveCamera FieldOfView="45" FarPlaneDistance="10" LookDirection="0,0,-3.4142135623731" NearPlaneDistance="0.1" Position="0,0,3.4142135623731" UpDirection="0,1,0"/>
4             </Viewport3D.Camera>
5         </Viewport3D>

 

下面是c#代碼讀取obj並加載到Viewport3D中。這里的m實際是ModelVisual3D類型。

1            Model3DGroup myModel3DGroup = new Model3DGroup();
3 DirectionalLight myDirectionalLight = new DirectionalLight(); 4 myDirectionalLight.Color = Colors.White; 5 myDirectionalLight.Direction = new Vector3D(-0.61, -0.5, -0.61); 6 myModel3DGroup.Children.Add(myDirectionalLight); 7 var m = wfl.LoadObjFile(@"D:\Documents\3dsMax\export\直升機.obj");//ModelVisual3D類型實例直接通過Viewport3D的Add方法添加。
8       m.Content = myModel3DGroup;
9       vp.Children.Add(m);

這段代碼的邏輯圖如下圖:

這是那個讀取obj模型的類的入口

這個類的代碼,我上傳到csdn了,以下是地址:

 http://download.csdn.net/detail/lelehellow/9706591

以上只是個人理解,如果有錯誤,歡迎指出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM