2017-10-13 9 views
-1

実行時にメッシュをstl/obj/fbx形式にエクスポートしてAndroid携帯のローカ​​ルファイルに保存する方法を探しています。実行時にメッシュをstl/obj/fbxに変換する

どうすればよいですか?私はプラグイン(無料/有料)を使用しても構わないと思います。

答えて

2

各形式(stl/obj/fbx)の仕様を読み、それを理解して自分で作成する必要があるので、これは本当に複雑です。幸運なことに、すでにUnityメッシュをstl、obj、fbxにエクスポートするために使用できるプラグインが数多くあります。

FBX

UnityFBXExporterはUnityが実行時にFBXメッシュエクスポートするために使用されます。 OBJ

public GameObject objMeshToExport; 

void Start() 
{ 
    string path = Path.Combine(Application.persistentDataPath, "data"); 
    path = Path.Combine(path, "carmodel"+ ".fbx"); 

    //Create Directory if it does not exist 
    if (!Directory.Exists(Path.GetDirectoryName(path))) 
    { 
     Directory.CreateDirectory(Path.GetDirectoryName(path)); 
    } 

    FBXExporter.ExportGameObjToFBX(objMeshToExport, path, true, true); 
} 

:OBJについて、ObjExporterが使用さ

public GameObject objMeshToExport; 

void Start() 
{ 
    string path = Path.Combine(Application.persistentDataPath, "data"); 
    path = Path.Combine(path, "carmodel" + ".obj"); 

    //Create Directory if it does not exist 
    if (!Directory.Exists(Path.GetDirectoryName(path))) 
    { 
     Directory.CreateDirectory(Path.GetDirectoryName(path)); 
    } 

    MeshFilter meshFilter = objMeshToExport.GetComponent<MeshFilter>(); 
    ObjExporter.MeshToFile(meshFilter, path); 
} 

STL

あなたはSTLフォーマットのpb_Stlプラグインを使用することができます。

public GameObject objMeshToExport; 

void Start() 
{ 
    string path = Path.Combine(Application.persistentDataPath, "data"); 
    path = Path.Combine(path, "carmodel" + ".stl"); 

    Mesh mesh = objMeshToExport.GetComponent<MeshFilter>().mesh; 

    //Create Directory if it does not exist 
    if (!Directory.Exists(Path.GetDirectoryName(path))) 
    { 
     Directory.CreateDirectory(Path.GetDirectoryName(path)); 
    } 


    pb_Stl.WriteFile(path, mesh, FileType.Ascii); 

    //OR 
    pb_Stl_Exporter.Export(path, new GameObject[] { objMeshToExport }, FileType.Ascii); 
} 
+0

ありがとうございます。私はGithubでプラグインを見つけることは考えていませんでした......私は今日後でこのプラグインをすべて試してみます。 –

+0

私は自分の携帯電話ケースを設計し、3D印刷の準備が整ったSTL/OBJ形式の3Dジオメトリファイルを生成することができるAndroidアプリケーション(学校プロジェクト用)を開発したいと考えています。 (申し訳ありませんが、私は質問で明確にしませんでした。) それは主にAndroidアプリケーションで実行時にstl/obj/fbxファイルにgameobjects/meshをエクスポートするためのプラグインが必要な理由です。 void Start()(提案したコード)でpb_StlとUnityFBXExporterの両方を試しました。しかし、私は私のアプリをオンにし、私は内部ストレージを開きます。私は何も作成されていないことが分かった。 –

+0

これらのエクスポートコードは、void Start()ではなく、他の関数で実装されている可能性があります。私が達成したいのは、アプリケーションの開始ではなく、特定のボタンがクリックされた場合にのみstlファイルを生成することです。 –

関連する問題