分析と広告のためのCookie
分析と広告のためにCookieを使っており、どちらもGoogleに送られます。拒否しても、目に見える動作は何も変わりません。プライバシーポリシーを読む
ここで PLY を OBJ に変換できます。無料、アカウント不要です。ファイルを上の枠に落とせば、数秒で結果がダウンロードできる状態になります。 変換はお使いのブラウザーの中で行われるので、ファイルはアップロードされません。Windows でも macOS でも Linux でも、iPhone でも Android でも同じように動き、通信を切っても動き続けます。
一度に100ファイルまで。フォーマットが混ざっていても構いません。
順番に変換し、まとめてZIPでダウンロードします。
PLY から OBJ
PLY はスキャンデータの置き場所で、OBJ はモデリング作業の置き場所です。スカルプトやアニメーションのソフトはほぼすべて OBJ を何も考えず読み込みますが、PLY への対応は Blender や MeshLab のように良好なものから、まったく対応していないものまでさまざまです。
リトポロジーや手作業での間引き、スカルプトの下地として使いたい場合、最初の一歩として形式を変える必要が出てきます。両方とも頂点のリストと面のリストで面を表現しているという点で近い設計なので、変換自体は小さな作業で済みます。
フォトグラメトリーや構造化光によるスキャンは、見た目を各頂点の赤・緑・青の値として保存しています。テクスチャも UV も画像ファイルもなく、色はジオメトリの属性そのものです。
この変換が書き出す OBJ には v 行と f 行しかなく、mtllib への参照も付属の .mtl ファイルもありません。頂点カラーを保持できるマテリアルの仕組みも OBJ にはありません。両方のファイルを残しておき、ジオメトリの作業は OBJ で行い、色は PLY 側から別途取り出す、という進め方が現実的です。
PLY ファイルは1つの頂点要素と1つの面要素を持つだけで、オブジェクトやグループという概念も、表面そのものの名前もありません。そのため変換は必ず1つの o グループを作り、名前がない代わりに mesh_1 という生成された名前を書き込みます。
1つのスキャンだけを扱うなら問題になりませんが、複数のスキャンを1つのプロジェクトにまとめる場合は、取り込みのたびに同じ名前のオブジェクトができてしまいます。取り込み時にリネームしておくと後で扱いやすくなります。
STL や OBJ を読み込む際には、重複した頂点が小数点以下6桁の精度で結合されますが、PLY を読み込む際にはそのような処理は行われません。ファイルが持つ頂点配列と面のインデックスは、そのままの形で OBJ に引き継がれます。
これはスキャンデータにとって正しい振る舞いです。すでにメッシュ化のソフトウェアが接続関係について意図的な判断をしているためです。ただし、これは変換のあいだに何かをきれいにしてくれるわけではないことも意味します。重複頂点や参照されない頂点があれば、そのまま OBJ にも残ります。
頂点しか持たず面を持たない PLY は点群であり、この変換では変換対象になりません。点群を面に変えるのは復元という作業であり、単純な変換ではなく、パラメーターやプレビュー、承認を伴う作業だからです。
MeshLab や CloudCompare のポワソン再構築、ボールピボット再構築といった機能でメッシュ化してから、その結果を変換してください。
PLY の面リストは任意の数の頂点を持てますが、3頂点を超える面はすべて最初の頂点を基点に扇状に三角形分割されて書き出されます。凸な多角形では正しく分割されますが、凹んだ多角形では意図しない三角形が生じることがあります。
スキャンから得られるメッシュはほとんどが三角形なので、通常はこの問題に直面しません。
バイナリの PLY では1つの座標がわずか数バイトで記録されますが、OBJ では小数のテキストとして書かれるため、同じメッシュでも数倍の容量になります。数百万三角形規模のスキャンをそのまま変換すると、テキストエディターが開くのも苦労するような巨大なファイルになります。
変換の前に MeshLab の quadric edge collapse などで間引いておくほうが、その後の作業全体が速くなり、モデラーが気にするような品質の劣化もほとんど生じません。
vn 行は書き出されないため、取り込んだ直後は面ごとのフラットな法線が計算され、面が目立つ見た目になります。スムーズシェーディングや自動スムーズ角を適用すれば、スキャンらしい見た目に戻ります。マテリアルも付属しないので、まず適用してから作業を始めてください。
そのあとは、背景から拾ってしまった浮遊ジオメトリの除去や、見えなかった部分の穴埋め、アニメーションや細分化が必要ならリトポロジーといった、通常のスキャン処理が続きます。これらはいずれも変換の作業ではなく、それぞれの操作が1コマンドで済むツールで行うべき作業です。
OBJ は派生ファイルです。形状は持っていますが、色も、スキャナーが記録した頂点ごとの信頼度も、法線を持っていた場合のその情報も持っていません。いずれも OBJ からは復元できません。
PLY を正本として扱い、OBJ を作業用の複製として扱うのが実務的です。この変換はブラウザーの中で行われ、何もアップロードされません。取引先の物や人物のスキャンを扱う場合には、この点が安心材料になります。
| PLY | OBJ | |
|---|---|---|
| 正式名称 | Polygon File Format | Wavefront オブジェクト |
| 拡張子 | .ply | .obj |
| メディアタイプ | model/ply | model/obj |
| 最初の公開 | 1994 | 1992 |
| 発行元 | Stanford University | Wavefront Technologies |
| ライセンス | オープン標準 | オープン標準 |
| 現在の位置づけ | 現行 | 現行 |
| ブラウザで開けるか | 対応なし | 対応なし |
| 代わりに検討される形式 | STL | GLTF, STL |
MeshLabとBlenderは PLY と OBJ のどちらも読めるので、別のプログラムを開かずに、結果を元のファイルと並べて確かめられます。
OBJ は Wavefront Technologies の形式で、1992 年から使われています。Blender、MeshLab、Mayaがこの形式を読めます。
いいえ。この変換は完全にブラウザーの中で行われるので、ファイルが端末から出ることはありません。ご自分で確かめられます。開発者ツールのネットワークタブを開いて、何か変換してみてください。ページそのものと、このサービスの費用をまかなっている分析・広告のリクエストは見えますが、あなたのファイルを運んでいるリクエストはひとつもありません。
はい。アカウントも透かしもなく、消費される 1 日の割り当てもありません。お使いの機械の上で動くので、何度でも戻ってきていただけます。ブラウザーが扱えるのは 100 MB までのファイルで、一度に 100 本です。
PLY と OBJ は、内容の表し方が根本から違います。ですからこの変換は複製ではなく再構築です。誠実ではありますが、1 バイトも同じというわけではありません。 形状だけです。材質・色・テクスチャ・アニメーションは引き継がれず、同じモデルを複数回配置していた場合は、それぞれの位置に焼き付けられた別々のコピーとして返ってきます。
変換には要りません。すでに開いているブラウザーの中で行われます。そのあと結果を開くには、お使いの端末がふだん Wavefront Object を表示するのに使っているソフトが必要です。