PLY ファイル形式とは?
.ply は 3D 画像 ファイル形式です。.ply (Polygon File Format または Stanford Triangle Format) 規格は、1990 年代初頭にスタンフォード大学の Greg Turk によって開発されました。これは、3D スキャンデバイスを使用して収集された単純な 3D データを保存する手段として作成されました。
.ply ファイルは、オブジェクトを頂点と平面ポリゴンのリストとして保存し、以下のプロパティを定義できます:
- 色と透明度
- 表面法線の記述
- 空間座標
.ply 形式には 2 つのバージョンがあります。テキスト版には、3D 画像内のすべてのオブジェクトを記述する情報が人間が読める形式で含まれています。バイナリ版は、同じデータを生のバイナリエンコーディング(リトルエンディアンまたはビッグエンディアン)で保存するため、ファイルサイズが小さくなり、読み込み時間が短縮されます。どちらのバージョンでも、ヘッダーは常に ASCII マジックワード ply で始まり、end_header で終わります。
一般的な 3D ジオメトリ形式には、.OBJ、.STL(3D プリントで一般的)、および glTF シーン用の .GLB があります。
セキュリティと安全性
リスク: LOWPLY はパッシブな 3D データ(頂点、面、プロパティ)であり、実行可能コードではないため、開いても安全です。実用上の注意点はマルウェア関連ではなく、スキャンされた PLY は非常に巨大(数千万点)になることがあり、読み込みが遅くなったり、不正な形式や巨大なファイルがビューアに負荷をかけたりする可能性があることです。ツール(MeshLab, Blender, CloudCompare)は、«無料 3D ビューア»を装ったページからのアドウェア混入を避けるため、必ず公式サイトからダウンロードしてください。
形式の詳細
概要- 3MF/Bambu/Prusa プロジェクトのサブファイル(稀) - 一部の 3D パイプラインでは、点群やメッシュのダンプを .ply という名前で保存することがあります。これらはスキャナーやスライサーによって生成された同じ Polygon 形式です。
- Harvard Graphics / Stanford GraphBase データ(レガシー、稀) - 少数の古いプログラムが、無関係なチャートやグラフデータに .ply を使用していました。これらは事実上廃止されており、現代のユーザーが遭遇することはありません。
PLY ファイルを開くプログラム
技術的詳細
詳細仕様| エンコーディングのバリエーション | ASCII テキスト (`format ascii 1.0`)、リトルエンディアンバイナリ (`format binary_little_endian 1.0`)、またはビッグエンディアンバイナリ (`format binary_big_endian 1.0`) |
| ファイルマジック / シグネチャ | すべての `.ply` ファイルは、ボディがテキストかバイナリかに関わらず、独立した行の ASCII 文字列 `ply` で始まります |
| ヘッダー構造 | 常にプレーン ASCII テキストで、ASCII ファイルとバイナリファイルの両方に存在します。要素とプロパティの定義は `ply` と終了行 `end_header` の間に記述されます |
| MIME タイプ | `model/ply` |
| 主要な要素 | 頂点 (`vertex`) とポリゴン面 (`face`)。エッジや任意のカスタム要素もサポートされています |
| プロパティシステム | 各要素は、`x`, `y`, `z`, `nx`, `ny`, `nz`, `red`, `green`, `blue`, `alpha` などの任意に命名されたスカラーまたはリストプロパティを持ちます |
| サポートされているスカラー型 | `char`, `uchar`, `short`, `ushort`, `int`, `uint`, `float`, `double` |
| バイナリのエンディアン | リトルエンディアンとビッグエンディアンの両方がサポートされています。ヘッダーの `format` 行で使用されている方が指定されます |
| バイナリのコンパクト性 | バイナリ版は圧縮レイヤーなしで生のスカラー値をパックしており、通常 ASCII 版よりも 3〜4 倍小さく、解析も高速です |
| カラーサポート | 頂点ごと、または面ごとの RGBA が `red`, `green`, `blue`, `alpha` プロパティとして保存されます(通常は `uchar`、0-255) |
| 表面法線 | 頂点ごと、または面ごとの法線が `nx`, `ny`, `nz` という名前の `float` プロパティとして保存されます |
| 点群データ | 面リストがなく頂点のみのファイルも有効な `.ply` です。生の 3D スキャン点群を保存するために広く使用されています |
| 拡張性 | 任意の要素にカスタム名のプロパティを追加できます。準拠したリーダーは未知のプロパティをスキップするため、前方互換性が確保されます |
| 面インデックスのエンコーディング | 面の頂点インデックスは `list uchar int` 型を使用します。これはバイトカウントの後に、その数だけの整数頂点インデックスが続く形式です |
| リリース日 | early-mid 1990s (Stanford University) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | paulbourke.net |
PLY の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。PLY ファイルについて最初の質問をしてみましょう。