UltKit

STLをOBJに変換

印刷用モデルを、OBJには対応していてもSTLには対応していないレンダリング、テクスチャ、ゲーム制作ツールに取り込めます。形状は三角形単位でそのままコピーされ、変わるのはファイル内での保存方法だけです。

3Dモデル変換

またはSTL, OBJ, MTL … ファイルをここにドロップ ·

1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除

出力

ファイルは当社のサーバーで処理され、30分後に削除されます。

このツールの使い方

  1. 1

    STLファイルをアップロード

    ASCII形式・バイナリ形式のSTLに対応しています。1ファイルあたり95 MBまで、最大20ファイルをアップロードできます。ファイルはアップロードから30分後にサーバーから削除されます。

  2. 2

    必要に応じて向きを修正

    3Dプリント用モデルはZ軸が上方向です。Unityなど変換先のアプリがY軸上方向の場合は、詳細設定で上方向の軸をY-upに設定すると、モデルが正しい向きで表示されます。

  3. 3

    OBJに変換

    OBJに変換を押します。STLファイルごとに1つの.objファイルが作成され、インポートしたりテキストエディタで開いたりできます。

回答

STLをOBJに変換しても細部は失われませんか?

はい。OBJはSTLのすべての三角形を保持できるため、ジオメトリはそのまま引き継がれます。頂点が共有され、より多くの3Dアプリで読み込める形式になります。ただし、元のSTLに色やUVマップがないため、それらが追加されることはありません。

50バイトバイナリSTLの三角形1つあたり

4バイトの数値12個(法線1つと頂点3つ)に2バイトの属性フィールドが加わります。その前に80バイトのヘッダーと4バイトの三角形数があります。

STLとOBJで同じメッシュの保存方法はどう違うか

STLは、プリンターへの受け渡しを最も簡単にする形式として、1987年に3D Systems社が設計しました。すべての三角形が、それぞれ3つの頂点とともにそのまま書き出されます。そのため、6つの隣り合う三角形が共有する頂点は6回繰り返されます。ストリーミングしやすい反面、編集は困難です。どの三角形が接しているかという記録がないためです。

Wavefront Technologies社のOBJは、頂点位置のリストを1つ持ち、各面をそのリストの項目への参照で表します。つながった面はつながったままなので、モデリングやスカルプトのツールが想定する構造になります。OBJはUV座標、頂点法線、名前付きグループ、.mtlマテリアルファイルへのリンクも持てます。STLから変換した直後は、これらの任意の要素は空のままで、あとから追加できます。

STL

STLメッシュ

STL(stereolithography)は、1987年に 3D Systems が作成した3Dメッシュ形式です。物体の表面形状だけを三角形のリストとして記述し、色、材質、単位、シーン情報は持ちません。シンプルなため、Cura や PrusaSlicer などの3Dプリント用スライサーの標準的な入力形式になっています。曲面は多数の平らな三角形で近似されるため、滑らかなモデルではファイルがとても大きくなることがあります。

圧縮方式
–
透過
–
アニメーション
非対応
登場時期
1987 · 3D Systems
STL 変換

OBJ

Wavefront OBJ

OBJ は Wavefront Technologies が開発した3Dジオメトリ形式です。頂点、テクスチャ座標、法線、面を列挙したプレーンテキストのファイルで、マテリアルとテクスチャは別の .mtl ファイルで参照します。ほぼすべての3Dモデリングソフト、ゲームエンジン、3Dプリント用ツールで読み込めます。OBJ はアニメーション、リギング、シーン階層に対応しておらず、MTL と画像ファイルを一緒に保管しないとテクスチャが失われます。

圧縮方式
–
透過
–
アニメーション
非対応
登場時期
Wavefront Technologies
OBJ 変換

印刷用に作ったモデルを、レンダリング、アニメーション、テクスチャ作成に使う場合や、STLをインポート形式に含まないゲームエンジンに配置する場合に、STLからOBJへの変換が行われます。

STLからOBJ、GLB、STEPへ:最適な変換先の選び方

OBJ

編集・レンダリング・テクスチャ作成

プレーンテキストの形式で、1990年代からほとんどの3Dソフトが読み込めます。

  • モデリング向けに頂点を共有
  • UVやマテリアルを追加できる
  • Unity、Maya、Blenderなど多くの3Dアプリで開ける
おすすめ: 印刷用モデルを3Dアートの制作工程に移す場合
GLB

WebやARで表示

マテリアルを含む1つのバイナリファイルで、単位はメートルです。

  • three.jsやmodel-viewerで読み込める
  • AndroidのScene Viewerで開ける
  • 製品プレビューに向いている
おすすめ: ブラウザ上で回転できるモデルを共有する場合
STEP

CADに取り込む

三角形をソリッドボディの面としてまとめます。

  • Fusion 360やSolidWorksで開ける
  • ダイレクト編集のみで、履歴は残らない
  • 曲線は多面体のまま
おすすめ: メッシュしかない部品に機能を追加する場合

編集ではなくブラウザでのプレビューが目的なら、STLをGLBに変換すると手順を1つ省けます。CADソフトや機械加工の担当者が部品を必要とする場合は、STLをSTEPに変換でメッシュをソリッドボディにまとめられます。また、編集後のモデルをプリンターに戻すときは、逆方向の変換で新しいSTLを一度に書き出せます。

STLをOBJに変換に関するよくある質問

UnityはSTLファイルを読み込めますか?

そのままでは使えません。UnityのモデルインポーターはFBX、OBJ、DAE、3DS、DXFと、インストール済みのモデリングアプリの形式を読み込みます。そのためSTLをAssetsフォルダに入れても無視されます。OBJに変換するのが最も手早い方法です。先に上方向の軸をY-upに設定してください。

変換したOBJにはテクスチャ用のUV座標がありますか?

いいえ。元のSTLにテクスチャ情報がないためです。OBJにはテクスチャ座標のない同じ三角形が入ります。インポート後にBlenderなどのテクスチャ作成ツールでUV展開すれば、ペイントや画像テクスチャの適用ができます。

OBJはSTLより容量が大きくなりますか、小さくなりますか?

STLの形式によります。OBJは共有する頂点を1回だけ書き出してインデックスで参照するため、ASCII形式のSTLより通常はかなり小さくなります。バイナリ形式のSTLと比べると、OBJは数値をテキストで保存するため、同程度か少し大きくなることが多いです。

変換したモデルがレンダラーで角ばって見えるのはなぜですか?

STLは三角形ごとに法線を1つ持つため、フラットシェーディングで表示されます。Blenderでスムーズシェードや自動スムーズの角度を適用するか、お使いの3Dアプリで法線を再計算すると、曲面が滑らかに見えるようになります。

複数パーツの印刷データを別々のOBJオブジェクトに変換できますか?

STLに切り離された複数のシェルが含まれている場合、それらは1つのOBJファイルにまとめて出力されます。Blenderの「分離:ルースパーツ」で個別のオブジェクトに分けられます。または、パーツごとに別々のSTLとしてアップロードすれば、パーツごとにOBJが作成されます。

STLをOBJに変換すると失われるものはありますか?

ジオメトリは失われません。すべての三角形と頂点位置がそのままコピーされます。省かれるのは、バイナリSTLの80バイトのヘッダーテキストと未使用の属性バイトだけで、これらを読み込むソフトはほとんどありません。