From Unify Community Wiki
Revision as of 04:01, 13 January 2013 by Drobe (Talk | contribs)

Jump to: navigation, search

Author: DaveA


Allows you to export the currently selected mesh(es) to OBJ format. Simply wraps the Utility script(s) ObjExporter.cs.

NOTE: This will write mesh data for a single GameObject. It will not write mesh data for its children. If you happen to have several GameObjects selected at once, whatever GameObject is considered to have been selected last will be exported. See the discussion page for more information.


You must place the script in a folder named Editor in your project's Assets folder for it to work properly.

Select an object in the scene heirarchy, then choose File -> Export -> Wavefront OBJ. The default name will be of the object selected (or first selected), but you can change it.

C# - ExportOBJ.cs

using UnityEngine;
using UnityEditor;
using System.Collections;
public class ObjExporter : ScriptableObject
    [MenuItem ("File/Export/Wavefront OBJ")]
    static void DoExport()
		string meshName = Selection.gameObjects[0].name;
        string fileName = EditorUtility.SaveFilePanel("Export .obj file", "", meshName, "obj");
		foreach  (GameObject o in Selection.gameObjects)
			MeshFilter mf = o.GetComponent(typeof(MeshFilter)) as MeshFilter;
			ObjExporterScript.MeshToFile(mf, fileName, false); 
Personal tools