PLY を OBJ に変換

ここで PLY を OBJ に変換できます。無料、アカウント不要です。ファイルを上の枠に落とせば、数秒で結果がダウンロードできる状態になります。 変換はお使いのブラウザーの中で行われるので、ファイルはアップロードされません。Windows でも macOS でも Linux でも、iPhone でも Android でも同じように動き、通信を切っても動き続けます。

  • 処理される場所 ブラウザーの中です。ファイルがアップロードされることはありません。
  • 作り直し OBJはPLYとは仕組みが違います。非可逆コーデックのような段階的な劣化ではありません。OBJが表現できるものは忠実に再現され、対応するものがないものはまったく残りません。
  • ファイルサイズの上限 1ファイルあたり100MBまで。無料、アカウント不要です。
  • 知っておきたいこと 形状だけです。材質・色・テクスチャ・アニメーションは引き継がれず、同じモデルを複数回配置していた場合は、それぞれの位置に焼き付けられた別々のコピーとして返ってきます。

一度に100ファイルまで。フォーマットが混ざっていても構いません。

スキャンデータをモデリングソフトで扱うために

PLY はスキャンデータの置き場所で、OBJ はモデリング作業の置き場所です。スカルプトやアニメーションのソフトはほぼすべて OBJ を何も考えず読み込みますが、PLY への対応は Blender や MeshLab のように良好なものから、まったく対応していないものまでさまざまです。

リトポロジーや手作業での間引き、スカルプトの下地として使いたい場合、最初の一歩として形式を変える必要が出てきます。両方とも頂点のリストと面のリストで面を表現しているという点で近い設計なので、変換自体は小さな作業で済みます。

色は OBJ には持てない

フォトグラメトリーや構造化光によるスキャンは、見た目を各頂点の赤・緑・青の値として保存しています。テクスチャも UV も画像ファイルもなく、色はジオメトリの属性そのものです。

この変換が書き出す OBJ には v 行と f 行しかなく、mtllib への参照も付属の .mtl ファイルもありません。頂点カラーを保持できるマテリアルの仕組みも OBJ にはありません。両方のファイルを残しておき、ジオメトリの作業は OBJ で行い、色は PLY 側から別途取り出す、という進め方が現実的です。

名前は mesh_1 として書き出される

PLY ファイルは1つの頂点要素と1つの面要素を持つだけで、オブジェクトやグループという概念も、表面そのものの名前もありません。そのため変換は必ず1つの o グループを作り、名前がない代わりに mesh_1 という生成された名前を書き込みます。

1つのスキャンだけを扱うなら問題になりませんが、複数のスキャンを1つのプロジェクトにまとめる場合は、取り込みのたびに同じ名前のオブジェクトができてしまいます。取り込み時にリネームしておくと後で扱いやすくなります。

頂点は結合されずそのまま引き継がれる

STL や OBJ を読み込む際には、重複した頂点が小数点以下6桁の精度で結合されますが、PLY を読み込む際にはそのような処理は行われません。ファイルが持つ頂点配列と面のインデックスは、そのままの形で OBJ に引き継がれます。

これはスキャンデータにとって正しい振る舞いです。すでにメッシュ化のソフトウェアが接続関係について意図的な判断をしているためです。ただし、これは変換のあいだに何かをきれいにしてくれるわけではないことも意味します。重複頂点や参照されない頂点があれば、そのまま OBJ にも残ります。

面を持たないPLYは変換されない

頂点しか持たず面を持たない PLY は点群であり、この変換では変換対象になりません。点群を面に変えるのは復元という作業であり、単純な変換ではなく、パラメーターやプレビュー、承認を伴う作業だからです。

MeshLab や CloudCompare のポワソン再構築、ボールピボット再構築といった機能でメッシュ化してから、その結果を変換してください。

四角形以上の面は扇状に三角形分割される

PLY の面リストは任意の数の頂点を持てますが、3頂点を超える面はすべて最初の頂点を基点に扇状に三角形分割されて書き出されます。凸な多角形では正しく分割されますが、凹んだ多角形では意図しない三角形が生じることがあります。

スキャンから得られるメッシュはほとんどが三角形なので、通常はこの問題に直面しません。

テキストになると容量は大きくなる

バイナリの PLY では1つの座標がわずか数バイトで記録されますが、OBJ では小数のテキストとして書かれるため、同じメッシュでも数倍の容量になります。数百万三角形規模のスキャンをそのまま変換すると、テキストエディターが開くのも苦労するような巨大なファイルになります。

変換の前に MeshLab の quadric edge collapse などで間引いておくほうが、その後の作業全体が速くなり、モデラーが気にするような品質の劣化もほとんど生じません。

取り込んだあとに行う作業

vn 行は書き出されないため、取り込んだ直後は面ごとのフラットな法線が計算され、面が目立つ見た目になります。スムーズシェーディングや自動スムーズ角を適用すれば、スキャンらしい見た目に戻ります。マテリアルも付属しないので、まず適用してから作業を始めてください。

そのあとは、背景から拾ってしまった浮遊ジオメトリの除去や、見えなかった部分の穴埋め、アニメーションや細分化が必要ならリトポロジーといった、通常のスキャン処理が続きます。これらはいずれも変換の作業ではなく、それぞれの操作が1コマンドで済むツールで行うべき作業です。

元の PLY を残しておく

OBJ は派生ファイルです。形状は持っていますが、色も、スキャナーが記録した頂点ごとの信頼度も、法線を持っていた場合のその情報も持っていません。いずれも OBJ からは復元できません。

PLY を正本として扱い、OBJ を作業用の複製として扱うのが実務的です。この変換はブラウザーの中で行われ、何もアップロードされません。取引先の物や人物のスキャンを扱う場合には、この点が安心材料になります。

PLY を OBJ に変換する手順

  1. お手元の PLY ファイル をこのページに落とすか、押してファイルを選んでください。
  2. 変換先に OBJ を選びます。変換はブラウザーの中で行われ、ファイルはアップロードされません。
  3. できあがった OBJ ファイル をダウンロードします。

PLY と OBJ——何が変わるか

PLYとOBJの比較
PLYOBJ
正式名称Polygon File FormatWavefront オブジェクト
拡張子.ply.obj
メディアタイプmodel/plymodel/obj
最初の公開19941992
発行元Stanford UniversityWavefront Technologies
ライセンスオープン標準オープン標準
現在の位置づけ現行現行
ブラウザで開けるか対応なし対応なし
代わりに検討される形式STLGLTF, STL

結果を開く

MeshLabとBlenderは PLY と OBJ のどちらも読めるので、別のプログラムを開かずに、結果を元のファイルと並べて確かめられます。

どちらの形式が何のためのものか

OBJ は Wavefront Technologies の形式で、1992 年から使われています。Blender、MeshLab、Mayaがこの形式を読めます。

PLY から OBJ:よくある質問

PLY ファイル はどこかにアップロードされますか。

いいえ。この変換は完全にブラウザーの中で行われるので、ファイルが端末から出ることはありません。ご自分で確かめられます。開発者ツールのネットワークタブを開いて、何か変換してみてください。ページそのものと、このサービスの費用をまかなっている分析・広告のリクエストは見えますが、あなたのファイルを運んでいるリクエストはひとつもありません。

PLY から OBJ への変換は無料ですか。

はい。アカウントも透かしもなく、消費される 1 日の割り当てもありません。お使いの機械の上で動くので、何度でも戻ってきていただけます。ブラウザーが扱えるのは 100 MB までのファイルで、一度に 100 本です。

PLY を OBJ に変換すると品質は落ちますか。

PLY と OBJ は、内容の表し方が根本から違います。ですからこの変換は複製ではなく再構築です。誠実ではありますが、1 バイトも同じというわけではありません。 形状だけです。材質・色・テクスチャ・アニメーションは引き継がれず、同じモデルを複数回配置していた場合は、それぞれの位置に焼き付けられた別々のコピーとして返ってきます。

できあがった OBJ ファイル を開くのに、何かインストールが必要ですか。

変換には要りません。すでに開いているブラウザーの中で行われます。そのあと結果を開くには、お使いの端末がふだん Wavefront Object を表示するのに使っているソフトが必要です。

これらのフォーマットについて