unity3d导出obj模型这个问题好多朋友不知道如何去操作,我就给大家分享一下方法步骤,希望对家学习有所帮助。

下面的脚本放在你项目目录下资源文件夹的Editor里.

要导出地形,首先在你的场景中选中地形对象.如果没选,他将用于当前场景中可用的地 形.从Terrain菜单下选择Export To Obj... ,在分辨率窗口,选择你要四边形还是三角形网格结构.同样也可以选择要导出地形的分辨率,有高中低等等.点击Export,选择要保存的位置和文件 名.Obj文件将被导出.要注意如果选择大面积的Full地形导出,最终的Obj文件将非常大,而且也要导出很久.

下面为 ExportTerrain.js脚本.

001 import System.IO;
002 import System.Text;
003  
004 enum SaveFormat {Triangles, Quads}
005 enum SaveResolution {Full, Half, Quarter, Eighth, Sixteenth}
006  
007 class ExportTerrain extends EditorWindow {
008     var saveFormat = SaveFormat.Triangles;
009     var saveResolution = SaveResolution.Half;
010     static var terrain : TerrainData;
011     static var terrainPos : Vector3;
012      
013     var tCount : int;
014     var counter : int;
015     var totalCount : int;
016      
017     @MenuItem ("Terrain/Export To Obj...")
018     static function Init () {
019         terrain = null;
020         var terrainObject : Terrain = Selection.activeObject as Terrain;
021         if (!terrainObject) {
022             terrainObject = Terrain.activeTerrain;
023         }
024         if (terrainObject) {
025             terrain = terrainObject.terrainData;
026             terrainPos = terrainObject.transform.position;
027         }
028         EditorWindow.GetWindow(ExportTerrain).Show();
029     }
030      
031     function OnGUI () {
032         if (!terrain) {
033             GUILayout.Label("No terrain found");
034             if (GUILayout.Button("Cancel")) {
035                 EditorWindow.GetWindow(ExportTerrain).Close();
036             }
037             return;
038         }
039         saveFormat = EditorGUILayout.EnumPopup("Export Format", saveFormat);
040         saveResolution = EditorGUILayout.EnumPopup("Resolution", saveResolution);
041          
042         if (GUILayout.Button("Export")) {