OBJメッシュファイルをオンラインで無料修復
Blender、Maya、ZBrushなどの3Dツールからの壊れたWavefront OBJファイルを修復。ブラウザ上で完全に動作 — アップロード不要、インストール不要。
OBJフォーマット:知っておくべきこと
Wavefront OBJフォーマットは、最も広くサポートされている3Dファイルフォーマットの1つです。三角形のジオメトリと法線のみを保存するSTLとは異なり、OBJはポリゴン面(三角形だけでなく)、頂点法線、テクスチャ座標、マテリアル参照、オブジェクトのグループ化をサポートします。これにより、テクスチャ、レンダリング、アニメーションを含むワークフローに最適なフォーマットとなっています。
OBJファイルはプレーンテキストで、検査やデバッグが容易ですが、複雑なモデルではファイルが大きくなる可能性があります。フォーマットはキーワードで始まる行で構成されています:
v— 頂点位置(x, y, z)vn— 頂点法線vt— テクスチャ座標f— 面定義(頂点インデックス、オプションで法線とテクスチャインデックス付き)g/o— グループ名とオブジェクト名mtllib/usemtl— マテリアルライブラリとマテリアル参照
OBJメッシュの一般的な問題
OBJファイルはSTLファイルと同じ基本的なメッシュ問題 — 非多様体ジオメトリ、穴、反転した法線 — に加えて、フォーマット固有の落とし穴もあります:
一貫しない巻き順序
OBJはSTLのように巻き順序の規約を強制しません。異なるソフトウェアが時計回りまたは反時計回りで頂点を書き込む場合があります。異なるツールからのOBJエクスポートを組み合わせると、一部の面が一方向に巻き、他の面が反対方向に巻くメッシュになり、法線が不一致になる場合があります。
混合ポリゴンタイプ
STL(三角形のみ)とは異なり、OBJはクワッド、五角形、任意のn角形をサポートします。モデリングには便利ですが、非平面ポリゴンはレンダリングやスライスの問題を引き起こす可能性があります。凹ポリゴンはファイルを読み取るソフトウェアによって異なる方法で三角分割される場合があります。
欠落または壊れたマテリアル参照
OBJファイルは.mtl(マテリアル)ファイルを参照することがよくあります。マテリアルファイルが欠落、名前変更、または間違ったディレクトリにある場合、メッシュはロードされますがマテリアルやテクスチャ情報なしで表示されます。これはジオメトリエラーではありませんが、モデルがテクスチャなしで表示される際に混乱を招く可能性があります。
インデックスオフセットエラー
OBJは1ベースのインデックスを使用します(最初の頂点は頂点1で、頂点0ではありません)。OBJファイルを生成する一部のツールには、0ベースのインデックスやオフバイワンエラーを生成するバグがあり、間違った頂点や存在しない頂点を参照する面が生じます。これにより穴、退化した三角形、または完全なメッシュの破損が発生する可能性があります。
重複する頂点
複数のオブジェクトを結合したり再エクスポートしたりすると、OBJファイルは同じ位置に重複する頂点を蓄積する可能性があります。これによりファイルサイズが増加し、エッジが共有されているように見えるが実際には別々(同じ座標の異なる頂点インデックスにそれぞれ属する)であるような微細なクラックが生じる可能性があります。
人気のソフトウェアからのOBJファイル
Blender
BlenderのOBJエクスポーターは一般的に信頼できますが、一般的な問題には:予期しないジオメトリを作成する非表示オブジェクトのエクスポート、エクスポート前のモディファイアの適用忘れ(低解像度のベースメッシュになる)、三角分割せずにエクスポート(一部のリーダーがうまく処理できないn角形が残る)があります。
Maya
Mayaはほとんどの場合、クリーンなOBJをエクスポートします。注意点:追加のジオメトリを作成するコンストラクションヒストリー、ブーリアン演算からの非多様体エッジ、スケールの違い(Mayaはデフォルトでセンチメートルを使用しますが、多くのツールはミリメートルを期待します)。
ZBrush
ZBrushのモデルは非常にポリゴン数が多いことがよくあります。ZBrushからのOBJエクスポートには数百万の面が含まれる場合があります。ジオメトリは通常クリーンですが、ファイルサイズが課題になることがあります。3Dプリント用にエクスポートする前にZBrushで間引きすることを検討してください。
SketchUp
SketchUpは非多様体のOBJおよびSTLファイルを生成することで悪名高いです。二重面、内部面、非多様体エッジが一般的です。SketchUpからのエクスポートはすべてJustFixSTLを通すことを強くお勧めします。
JustFixSTLがOBJファイルを処理する方法
パーシングと三角分割
OBJファイルがパースされ、3つ以上の頂点を持つポリゴンはすべて三角分割されます。これにより、分析と修復のための一貫した三角形メッシュが確保されます。
完全なメッシュ分析
STLファイルと同じ包括的な分析が実行されます:多様体チェック、水密チェック、法線の一貫性、オイラー標数、種数、コンポーネント数。
トポロジーの修復
非多様体エッジと頂点が解決され、穴が埋められ、法線が一貫性のある状態にされます — STLファイルと同じ修復操作です。
エクスポートオプション
修復されたメッシュをSTL(バイナリ)としてダウンロードするか、元のフォーマットのまま保持できます。この柔軟性により、メッシュの問題を修正しながらフォーマット間の変換が可能です。
OBJ vs. STL:使い分け
| 特徴 | STL | OBJ |
|---|---|---|
| ポリゴンタイプ | 三角形のみ | 三角形、クワッド、n角形 |
| テクスチャ座標 | なし | あり(UVマッピング) |
| マテリアルサポート | なし | あり(.mtlファイル経由) |
| 頂点法線 | 面法線のみ | 頂点ごとの法線対応 |
| バイナリフォーマット | あり(小さいファイル) | テキストのみ(大きいファイル) |
| オブジェクトグループ化 | なし | あり(グループとオブジェクト) |
| 3Dプリント標準 | 最も一般的なフォーマット | 多くのスライサーでサポート |
| 最適な用途 | 3Dプリント、シンプルなジオメトリ | テクスチャ付きモデル、レンダリング、アニメーション |
3Dプリントには、スライサーがテクスチャやマテリアルを必要としないため、STLが最も一般的な選択肢です。レンダリング、ゲーム開発、またはUVマッピングを含むワークフローには、OBJがより良いフォーマットです。JustFixSTLは両方をサポートしているので、必要に応じてそれらの間で修復と変換が可能です。