3Dの基礎
3Dモデリングの世界では、3Dデータの表現として一般的に使用される2つの形式がメッシュとSplatです。どちらも3D環境を視覚化し操作するための独自の方法を提供しますが、構造と用途が異なります。
このセクションでは、メッシュとSplatの基礎を紹介し、それぞれの違いと、さまざまなプログラムを使用してどのように作成できるかを理解するのに役立ちます。実世界のオブジェクトをスキャンしたい場合でも、美しい3D環境を作成したい場合でも、これらのツールはアイデアを実現するために必要な機能を提供します。
メッシュベースフォーマット
メッシュは、頂点(空間内の点)、エッジ(点を結ぶ線)、面/ポリゴン(通常は三角形または四角形で表面を形成)で構成される3Dオブジェクトの構造化された表現です。これらの要素が連携して、オブジェクトの形状、表面のディテール、ジオメトリを定義します。
例:メッシュ
メッシュは編み物に例えることができます:
- 頂点 = 編み目
編み物の各編み目は、メッシュ内の点(頂点)のようなものです。特定の位置にあり、他の編み目と接続しています。 - エッジ = 編み目間の糸
編み目をつなぐ糸は、メッシュ内のエッジのようなものです。構造を保持する役割を果たします。 - 面 = 生地の一片
複数の編み目がつながると生地の面ができます — メッシュ内のエッジで構成される面と同じです。
詳細:
小さな鍋つかみの四角形を編んでいると想像してください:
- 編み目(頂点)の列から始めます。
- 列ごとに編み目を結合しながら(エッジ)編んでいきます。
- 最後に連続した一枚の生地ができます — これは多くの小さな面で構成されるメッシュのようなものです。
対応ファイルフォーマット: .glb, .glTF
作成したファイルを検証するバリデータ: https://gltf-viewer.donmccurdy.com/
Splat
この技術は主に3D Gaussian Splatting(3DGS)として知られています。位置(X, Y, Z)、形状と方向、色(rgb)、およびアルファ値(Splatの不透明度/透明度)を格納する微小な3Dガウシアン(楕円体形状)の集合です。これらのガウシアンが一緒になってクラウドのようなものを形成し、オブジェクトや環境の表面のように見えます。つまり、データを表面やエッジに変換する代わりに、ボリュームデータを扱います。
例:Gaussian Splatting
3D Gaussian Splattingは、平面の壁ではなく3D空間に浮かぶグラフィティの壁画を作成するようなものと考えることができます。
- 各ガウシアン = 空中でのスプレーペイントの一吹き
スプレー缶を素早くプッシュしたときのように、ガウシアンSplatは中心から滑らかにフェードアウトする柔らかい色の点です。 - 位置 (
X,Y,Z) = 3D空間でスプレーが当たる場所
各スプレーは空間内の特定のポイントで行われます。空中の中間地点にドットをスプレーするようなものです。 - 形状と方向 = スプレーの広がりと角度
缶を傾けたり離れた場所からスプレーすると、ドットは引き延ばされたり角度がつきます。3DGSでは、これは楕円体ガウシアンであり、任意の方向に圧縮、引き延ばし、方向付けが可能です。 - 色 (
RGB) = 使用したペイントの色
各スプレーは色情報(赤、緑、青)を持っています — ペイントと同じです。 - アルファ (透明度) = ペイントの濃度
中心部では色が最も濃く、端に向かってフェードします。このフェーディングがSplatの不透明度です。
詳細:
彫刻を作成することを想像してください — 何千もの微小な半透明のドットを空間にスプレーします:
- 各「スプレー」は少量の色と密度を提供します。
- それらが一緒になって、描こうとしているオブジェクトのようなクラウドを形成します。
- Splattingは、これらの浮遊するカラフルなスプレードットを使って世界を描きます。
対応ファイルフォーマット: .ply, .spz, .splat
メッシュとSplatの比較
| カテゴリ | メッシュ | Splat |
|---|---|---|
| 概要 | 点、エッジ、表面/ポリゴンで構成される3D形状 | 空間内に配置されたカラーSplatのクラウド(ぼやける場合があります) |
| データ構造 | 整理された接続ジオメトリ | ばらばらの非接続Splat |
| 作成方法 | 手動モデリング、CAD/スキャンから作成 | 通常は写真、3Dスキャン、またはカメラデータから作成 |
| 編集可能? | 変更、アニメーション、造形が容易 | 編集やアニメーションが困難 |
| テクスチャリング | UV*マップとマテリアルを使用 | 色は各Splatに直接格納 |
| 用途 | ゲーム、アニメーション、建築、3Dプリンティング | 実世界のスキャン、VR/AR、リアルなビュー |
| リアリズム | 良好 — テクスチャとディテールに依存 | 非常に高い — スキャンされた実世界シーンに最適 |
| ファイルサイズ | 通常は小さい - 使用する三角形/頂点数に依存 | 多くのSplatにより大きくなる場合がある |
*UVマップは、2Dテクスチャ(画像など)を表面に割り当てる技術です。各スペース内で壁やステージに画像をアップロードする際にも同じことを行っています。スキンのようにオブジェクトの上に画像を配置します。
プラットフォームによって対応するフォーマットの種類が異なります。Scaniverseなどでは、最初から適切な方法を選択する必要があります。最初に正しい方法を選ぶことが重要です。後から問題が発生する可能性があるためです。したがって、以下が経験則です:
- メッシュベース
.glb,.glTF - Gaussian Splat
.ply,.spz,.splat,.sog
メッシュまたはSplatのスキャンと作成
メッシュやGaussian Splatを作成するために、さまざまなプラットフォームが利用可能で、それぞれ異なるニーズに合わせた独自の機能を提供しています。3Dモデルを生成するための人気ツールを紹介します:
- Scaniverse
- Polycam
- RealityScan
Scaniverseは、スマートフォンやタブレットのカメラを使用して高品質な3Dスキャンを作成できる強力なモバイルアプリケーションです。特に使いやすさとアクセシビリティで知られています。
- 対応デバイス: iOS (iPhoneおよびiPad)*
- ファイル形式:
.obj,.ply,.stl,.fbx - ユースケース: Gaussian Splatを素早く生成し、さらなる編集や共有のためにエクスポートできるモデルに変換するのに最適です。 Androidでも利用可能ですが、iOSほど最適化されていません
Polycamは、フォトグラメトリとLiDAR技術を使用して正確なGaussian Splatとモデルを生成する、主要なモバイル3Dスキャンプラットフォームです。
- 対応デバイス: iOS(LiDAR搭載デバイス)、Android
- ファイル形式:
.obj,.ply,.fbx,.stl - ユースケース: Polycamはプロフェッショナルおよび趣味のプロジェクト向けに高品質なモデルを生成することに優れており、強力な編集機能とエクスポートオプションを提供します
RealityScanは、Epic Games(Capturing Realityとの提携)が開発したモバイルフォトグラメトリアプリで、スマートフォンのカメラだけで実世界のオブジェクトを高品質な3Dモデルに簡単に変換できます。外出先での素早い3Dキャプチャ向けに設計されており、Sketchfabと直接連携して公開・共有が可能です。
- 対応デバイス: iOS、Android
- ファイル形式:
.obj,.glb(Sketchfabエクスポート経由) - ユースケース: RealityScanは、オブジェクトを素早くスキャンして即座にアップロードしたい初心者やクリエイターに最適です。アプリがスキャンプロセスをガイドし、自動的にメッシュを構築し、ワンタップでSketchfabアカウントに公開できます。
PostshotはRadiance Fields向けソフトウェアです。クリエイターが任意のカメラを使って数分でフォトリアリスティックな3Dシーンやオブジェクトを簡単に作成できます。オブジェクトの周りを3回撮影し、約1〜2分の動画を作成してアップロードするだけです。残りはプログラムが処理します。
- 対応プラットフォーム: Windows 10以降
- ファイル形式:
.ply - ユースケース: Postshotは、撮影、トレーニング、アニメーション、レンダリングを統合プラットフォーム内でサポートする機能を備えた、高品質な3Dコンテンツ作成のシームレスなワークフローを求めるプロフェッショナルに最適です。
既存の素材からSplatを作成
- PostShot
PostshotはRadiance Fields向けソフトウェアです。クリエイターが任意のカメラを使って数分でフォトリアリスティックな3Dシーンやオブジェクトを簡単に作成できます。オブジェクトの周りを3回撮影し、約1〜2分の動画を作成してアップロードするだけです。残りはプログラムが処理します。
- 対応プラットフォーム: Windows 10以降
- ファイル形式:
.ply - ユースケース: Postshotは、撮影、トレーニング、アニメーション、レンダリングを統合プラットフォーム内でサポートする機能を備えた、高品質な3Dコンテンツ作成のシームレスなワークフローを求めるプロフェッショナルに最適です。
メッシュとGaussian Splatの編集
- Blender
- SuperSplat
- MeshLab
Blenderは、世界中のアーティスト、デザイナー、開発者が使用する強力なオープンソースの3D制作スイートです。モデリング、スカルプティング、リギング、アニメーション、シミュレーション、レンダリング、コンポジット、ビデオ編集を含む3Dパイプライン全体をサポートします。Blenderは高度にカスタマイズ可能で、プラグインとコミュニティサポートの大規模なエコシステムを持っています。
- 対応デバイス: Windows, macOS, Linux
- ファイル形式: .blend(ネイティブ)、
.obj,.fbx,.stl,.glb/.glTF,.ply,.daeなどのインポート/エクスポートに対応 - ユースケース: Blenderは技術的およびアーティスティックなワークフローの両方に最適です。高度なスカルプティングツール、Eeveeによるリアルタイムレンダリング、強力なノードベースのマテリアルエディタを搭載しています。アドオンにより、Gaussian Splatの視覚化やSplatベースのレンダリングもサポートしており、幅広い3Dコンテンツを扱うための柔軟な選択肢です。
SuperSplatは、Splatデータから3Dモデルを作成するための専門ツールを提供します。ポイントをSplatに置き換えることで、モデルの視覚的な魅力を高めたい方に最適です。
- 対応デバイス: Webベース、デスクトップ
- ファイル形式:
.obj,.ply,.fbx,.stl - ユースケース: SuperSplatは、Gaussian SplatをSplatに変換することでより滑らかな視覚化を提供し、より連続的で美しい3Dモデルを作成できるユニークなツールです。
MeshLabは、3Dメッシュモデルの処理と編集のために設計された無料のオープンソースソフトウェアです。スキャンやポイントクラウドからの3Dデータのクリーニング、修復、変換、視覚化に特に役立ちます。
- 対応デバイス: Windows, macOS, Linux
- ファイル形式:
.ply,.objなど - ユースケース: MeshLabは3Dスキャンデータとポイントクラウドの処理に優れており、メッシュのクリーニング、簡略化、スムージング、サーフェス再構築、テクスチャマッピングのツールを提供します。学術研究、文化遺産の保存、3Dプリンティングのワークフローで広く使用されています。
.splatや.spzフォーマットはサポートしていませんが、Splattingステージの前後のデータの準備と分析には非常に効果的です。
アセットの売買
- Sketchfab
- Poly Pizza
Sketchfabは、Gaussian SplatやSplatを含む3Dモデルの表示、共有、販売のための人気プラットフォームです。クリエイターがインタラクティブな3Dビューアで3Dモデルをアップロードし、展示することができます。
- 対応デバイス: Webベース(すべてのデバイスからアクセス可能)、iOS、Android
- ファイル形式:
.obj,.stl,.fbx,.ply,.glTF - ユースケース: Sketchfabは3Dモデルの作成プラットフォームであるだけでなく、マーケットプレイスおよびコミュニティハブとしても機能し、プロフェッショナルと愛好家の両方が3Dコンテンツを扱うための幅広いツールを提供しています。
Poly Pizzaは、Webおよびリアルタイムアプリケーションへの簡単な統合に焦点を当てた、3Dモデルの表示と共有のための無料プラットフォームです。ローポリモデルに特化しており、Gaussian Splatを含むスムーズでWeb対応の3D体験のために glTF フォーマットをサポートしています。
- 対応デバイス: Webベース
- ファイル形式:
.glTF,.fbx,.glb - ユースケース: Poly Pizzaは、ブラウザで軽量な3Dモデルを素早く展示するのに最適です。特にWebおよびVRアプリケーション向けのインタラクティブな3Dコンテンツに簡単にアクセスしたい開発者やユーザーに最適です。