アセット作成ガイドライン
※ 翻訳には「Google AI Studio」を利用し、「Gemini Experimental 1206」のモデルを使用しています。
このガイドラインは、Khronos Groupの「3DC-Asset-Creation」で公開されている「Real-time Asset Creation Guidelines」を日本語に翻訳したものです。
ライセンス: Creative Commons Attribution 4.0 International License
アセット作成ガイドライン
バージョン 1.0.0 最終更新日: 2020年10月20日
目次
リアルタイムアセット作成ガイドラインの概要
エグゼクティブサマリー
このガイドラインの目的は、アーティストが、販売者が複数の配信プラットフォーム上でリアルタイムレンダリングするために簡単かつ確実に使用できる3Dアセットを効率的に作成できるようにすることです。
このドキュメントは、今後公開予定の完全版ガイドラインのプレビュー版です。完全版では、より詳細な情報と、一般的な3Dツールを使用した3Dアセット作成ワークフローの例が掲載される予定です。このプレビュー版は、業界からのフィードバックや提案を募り、完全版ガイドラインの内容を改善・向上させるために公開されています。
このガイドラインは主に、ポリゴンベースの3Dワークフローには精通しているものの、Webやモバイル向けの3Dアセット作成にはまだ馴染みのない3Dアーティストを対象としています。ガイドラインには、拡張現実(AR)や仮想現実(VR)体験、製品コンフィギュレーター、インタラクティブなWebベースの3Dマーケティングツールといった場面で高いパフォーマンスを発揮する、高品質かつ効率的な3Dアセットを作成するためのベストプラクティスとモデリング標準が記載されています。
ガイドラインは、特定のDCC(デジタルコンテンツ作成)ツールに依存しないように設計されています。これは、原則がどんな3Dアセット作成ソフトウェアにも適用可能であるべきだからです。特定の業界やソフトウェア固有のワークフロー(CADモデルから実物大のジオメトリを持つ3Dアセットを作成するなど)については、完全版ガイドラインに含まれる予定の「アセッ ト作成ワークフロー」で解説される予定です。
ファイル形式とアセット構造の概要
3Dアセットを作成する際には、最終的な製品モデルを広く認知されたファイル形式でエクスポートし、それらのファイル内のデータを一般的な規則に従って構造化することが重要です。
glTFは、ロイヤリティフリーでオープンスタンダードな3Dアセット用のファイル形式であり、多様なプラットフォーム上の3Dオーサリングツールやビューアで広く採用されています。glTFでは、アセットのマテリアルに**物理ベースレンダリング(PBR)**を使用することで、現実的な製品の視覚表現を実現できます。glTFアセットは、テクスチャとジオメトリを参照する.gltf
ファイル、またはテクスチャを外部画像として参照するのではなく、直接埋め込むバイナリ形式の.glb
ファイルとして表現されます。
iOSデバイスはネイティブではglTFをサポートしていませんが、Apple独自のUSDz形式を使用しています。glTFとUSDzは類似した機能を備えていますが、一部のglTF機能はUSDzではサポートされていません。これらの違いについては、リアルタイムアセット作成ガイドラインの完全版で説明します。
これらの違いを考慮し、パブリッシングターゲットワークフローを使用することをお勧めします。このシステムでは、最高品質のコンテンツを含むPBR形式のソースアセットを作成します。このソースアセットは、様々なビューアをサポートするために、それぞれ異なるマテリアル機能をサポートする、複数のターゲットにデシメーション(ポリゴン削減)や簡略化を行うことが可能です。たとえば、glTFは放射値または放射テクスチャの使用をサポートしていますが、USDzは放射テクスチャのみをサポートしています。
- パブリッシングターゲット: ダウンロード時間を短縮し、スムーズなユーザーエクスペリエンスを提供するため、視覚的な品質を許容できないほど低下させない範囲で、最小のファイルサイズで作成する必要があります。詳細は「パブリッシングターゲットの概要」セクションを参照してください。
- アセットの配置: ほとんどのアセットは、底面の中心がワールド座標の(0, 0, 0)になるように配置する必要があります。
- 関節のあるアセット: 動きやアニメーションを適切に制御するため、特定のピボット配置が必要です。
- ファイル名の命名規則: アセットファイル名には、一般的な文字(
a-z
、_
、-
、0-9
)を使用してください。 - ファイル名の開始文字: ファイル名の最初の文字は英字にしてください。
- 単語の区切り: ファイル名内の単語を区切るには、空白ではなくアンダースコア(
_
)またはハイフン(-
)を使用してください。
座標系とスケールの概要
DCC 3Dアセットオーサリングツールは、様々な内部座標系と測定単位を使用しています。モデリング座標と法線ベクトル座標の違いを理解することが重要です。
- モデリング座標: glTFとUSDzはどちらも右手座標系を使用し、
+Y
をワールドの上方向、アセットの正面を+Z
方向とします。正の回転は反時計回りです。 - 法線ベクトル座標: glTFとUSDzはOpenGLの規則を使用し、
+X
が右、+Y
が上、+Z
がビューアの方向を向いています。glTFはmikktspace接空間をサポートしています。 - スケール: 可能な限り、1単位を1メートルとして使用してください。メートル法以外の単位を使用する場合は、適切な乗数を適用する必要があります。例: 1インチ = 0.0254メートル
ジオメトリの概要
高品質の製品レンダリングに使用できる高精度のジオメトリで3Dアセットを設計し、その後、そのジオメトリをリアルタイム展開用に最適化された、よりデータ容量の小さいアセットに変換する ことをお勧めします。Webやモバイルデバイスで魅力的な体験を提供するためには、配信用の3Dアセットは次の手法を用いて、すばやく読み込めるように最適化する必要があります。
- 実物との一致: アセットは参照写真と見た目が同一であり、実世界のスケールに合わせて作成する必要があります。
- ジオメトリの最適化: アセットは、視覚的なリアリズムを実現するために最小限のジオメトリを使用する必要があります。小さな表面の幾何学的詳細は、可能な限り法線マップにベイクする必要があります。様々なプラットフォームにおける三角形数の目安については、「パブリッシングターゲットの概要」セクションを参照してください。
- 多角形の構成: 可能な限り、nゴン(5角形以上の多角形)の使用は避けてください。ソースモデルには四角形(4辺のメッシュ)の使用を推奨します。最終的なアセットの最適化のためにのみ、三角形分割を使用します。将来のモデル修正のために、三角形分割されていないメッシュを手元に置いておくようにしてください。
- 頂点の価数: 多数のエッジが接続されている単一の頂点(価数の高い頂点、例えば10以上のエッジが接続されている頂点)は避けてください。
- シェーディングエラー: 2つの面が重なっている、頂点法線を再計算する必要があるなど、アセットの問題を示すシェーディングエラーがないことを確認してください。
- エッジの処理: 滑らかなエッジやベベルは、エッジの遷移を洗練させ、見た目の美しさとリアリズムを高めることができます。一般的な方法としては、追加のエッジループを追加するか、法線マップを使用して同様の効果を実現する方法があります。
- 穴や隙間: アセットに明らかな穴、意図しない可視ギャップ、または非多様体ジオメトリ(穴や隙間があるなど、適切に閉じられていないジオメトリ)があってはなりません。
- 透明なコンポーネント: 透明なコンポーネントを持つアセットでより良いレンダリング結果を得るには、透明な部分と不透明な部分に別々のメッシュとマテリアルを使用してください。
- エクスポート前の確認: エクスポート時の不一致を防ぐため、トランスフォーム(移動、回転、スケール)データ、コンストラクションヒストリ(編集履歴)、モディファイヤスタックをリセット(初期化)してください。
UV座標の概要
Webおよびモバイル体験用に最適化されたアセットは、すべてのパーツに完全に展開されたUVが必要です。現実世界の製品を忠実に表現する、説得力のあるリアルタイムアセットを作成するには、高品質なUV展開が不可欠です。
- UVレイアウト: UVレイアウトは、アセットに応じてタイル化またはアトラス化できます。表面の詳細を個別に表現する必要がある場合は、アトラスレイアウトが最適です。ただし、表面が繰り返しパターンを使用する場合は、タイリングテクスチャの方が適しています。
- UVシーム: UVシーム(UVの切れ目)は、現実世界のアセットの自然な境界に配置するか、目立たない領域に隠すように配置する必要があります。
- UVの連続性: 可能な限り連続したUV要素を使用し、小さなUVシェル(UVの塊)を最小限に抑え、目に見えるテクスチャの伸縮や歪みを減らすように努めてください。
- タイル化されたUV: タイル化されたUVは、**実世界のスケール(RWS)**を使用し、均一なテクスチャ密度を確保するために正規化する必要があります。ただし、ジッパーやロゴなどの詳細なアセットコンポーネントは、十分な解像度を維持し、ぼやけを回避するために、より大きなUVを使用する場合があります。
- アンビエントオクルージョンテクスチャ: タイル化されたUVには、アンビエントオクルージョンテクスチャ用に、アトラスレイアウトのタイル化されていないUVの追加セットが必要です。
- UVアトラス: UVアトラスレイアウトでは、すべてのUVを0〜1の空間内に配置し、重なりを避け、無駄な空の領域を最小限に抑える必要があります。
マテリアルの概要
通常、テクスチャとマテリアルは、ジオメトリよりもアセットのファイルサイズに占める割合が大きくなります。視覚的 にリアルなリアルタイムレンダリング用に最適化されたマテリアルは、**物理ベースレンダリング(PBR)**ワークフローを使用する必要があります。PBRマテリアルは、ファイルサイズを最小限に抑え、幅広い表面タイプを表現可能にし、使いやすく理解しやすく、レンダリング時のメモリ使用量も削減できます。リアルタイムに最適化されたマテリアルの推奨ガイドラインは次のとおりです。
- PBRマテリアルの形式: メタルネス・ラフネス形式のPBRマテリアルを使用してください。
- マテリアル数: 視覚的なアセットのリアリズムを十分に確保するために必要な最小限のマテリアル数を使用してください。
- 透明なパーツ: アセットの半透明部分は、不透明部分とは別のマテリアルを使用する必要があり、メッシュも分離する必要があります。
- テクスチャの使用: マテリアルの各特性は、1つのテクスチャのみを使用し、複数のテクスチャをブレンドやレイヤー化しないでください。
- 値の使用: テクスチャが単一の均一な色になる場合は、テクスチャの代わりに値を使用してください。これにより、ファイルサイズを大幅に削減できます。
テクスチャの概要
高解像度のソースアセットを作成する際には、高品質のテクスチ ャアセットを使用してください。ソーステクスチャは、圧縮されたJPG形式ではなく、PNG形式で保存することを推奨します。テクスチャは、PNGまたはJPG形式、および様々な解像度にダウンサンプリングすることで、異なるファイルサイズとマテリアル機能を必要とする、様々なパブリッシングターゲットをサポートできます。
PBRテクスチャの種類
- ベースカラー: 表面が均一に照らされ、直接的な反射がない状態で見える色を制御します。PBRメタルネス・ラフネスマテリアルでは、ベースカラーは金属(金、銅、真鍮など)の反射色を格納します。表面が非金属の場合、ベースカラーは従来の非反射のディフューズテクスチャ(木、レンガ、布など)に使用されます。
- アルファカバレッジ: 透明な細部の表現に使用され、常にベースカラーテクスチャのアルファチャンネルに格納されます。アルファカバレッジは、表面の全体的な可視性を表します。ガラスや液体とは異なり、反射を含むすべての表面の詳細を暗くします。一般的な用途には、籐や麻布など、多くの小さな隙間がある表面が含まれます。ガラスは、30%の不透明度を強制することで(不完全に)表現できますが、これは将来的には、新しいglTF拡張機能によって、適切な透過と屈折に置き換えられる予定です。
- ORM: アンビエントOクルージョンを赤チャンネルに、Rラフネスを緑チャンネルに、Mメタルネスを青チャンネルに格納するための、3つの情報を1つにまとめたテクスチャです。
- アンビエントオクルージョン: モデルの交差部分や隙間に発生する、柔らかい影の表現に使用されます。最良の結果を得るには、レイトレーシングレンダラーを使用してオクルージョンを事前に計算し、これをオクルージョンテクスチャに格納します。これは、モデルとマテリアルが完成に近づいた時点で行うのが最適です。すべての詳細がオクルージョン計算に影響を与えるためです。
- ラフネス: マイクロサーフェス(微細な表面)の凹凸を定義し、基本的に反射のぼやけや鮮明さを制御します。
- メタルネス: 表面のどの部分を金属と見なすかを制御します。金属表面は、非金属とは大きく異なる方法で光を反射します。メタルネスは、表面の最終的な色と反射率に大きな影響を与え、ベースカラーとラフネスに格納する必要がある色とテクスチャを決定する上で重要な役割を果たします。
- ノーマルバンプ: マクロサーフェス(大きな表面)の凹凸に使用されます。ノーマルは、表面の法線方向に変化を加えることで、溝、穴、繊維などをシミュレートします。ノーマルは、より詳細なモデルから曲率情報を格納するために使用でき、低解像度のモデルを、より滑らかで詳細に見せることができます。
- エミッシブ: 内部照明、暗闇で光る塗料、LEDディスプレイなどに使用できます。最良の結果を得るには、レイトレーシングレンダラーを使用してエミッシブライトバウンスを事前に計算し、これをエミッシブテクスチャに格納します。これは、モデルとマテリアルが完成に近づいた時点で行うのが最適です。すべての詳細がエミッシブ計算に影響を与えるためです。
リアルタイムテクスチャの推奨ガイドライン
- 色空間: ベースカラーとエミッシブテクスチャにはsRGB色空間を使用し、他のすべてのテクスチャタイプにはリニア色空間を使用してください。
- 法線マップ: glTFおよびUSDzのタンジェント空間法線マップは、OpenGL規則(赤が右、緑が上)とmikktspace接空間を使用する必要があります。
- 透明度の表現: マテリアルに透明度が必要な場合は、ベースカラーにPNGを使用し、アルファカバレッジをアルファチャンネルに格納してください。
- テクスチャのダウンサンプリング: パブリッシングターゲット用にダウンサンプリングされたテクスチャは、視覚的な詳細を損なわない範囲で、可能な限り小さくする必要があります。ベースカラー(透明度なし)とエミッシブには、可能な限りJPGテクスチャを使用してください。JPGの圧縮による劣化(アーティファクト)が目立つ場合は、PNGテクスチャを使用してください。形式と解像度の推奨事項については、下記の「パブリッシングターゲットの概要」セクションを参照してください。
レンダリングとライティングの概要
一般的な照明技術には次のものがあります。
- イメージベースドライティング(IBL): スペキュラ反射(光沢のある表面)とソフトディフューズライティング(粗い表面)の両方に使用される、パノラマ環境イメージを使用します。IBLテクスチャは、パノラマの高ダイナミックレンジ写真から作成したり、コンピュータグラフィックスシーンからレンダリングしたりできます。KhronosのサンプルglTFビューアはIBLを使用できます。
- エミッシブ: 表面を内部から発光しているかのように光らせるために使用されます。エミッシブマップは通常、他の表面に光を投影せず、テクスチャまたは単色の値で表現できます。
リアルタイムに最適化された照明の推奨ガイドライン
- 最終的なエクスポート: 最終的にエクスポートされる3Dアセットには、動的照明(指向性ライト、スポットライト、ポイントライトなど)を含む、いかなる照明も含めてはいけません。
- ベイクされた照明: 製品アセットにベイクされた照明を使用しないでください。この手法は、動的照明やPBRワークフローをサポートしていません。
- アンビエントライト: アンビエントライトは物理ベースではないため、モデリング中に単一のアンビエントカラーライトを使用してシーンを照らさないでください。
- 一貫したIBL: 一貫したイメージベースドライティングのセットアップを使用して、モデル、マテリアル、およびテクスチャの精度をテ ストおよび確認してください。
LOD
公開ターゲット
高解像度のジオメトリとテクスチャを使用して、PBR形式で最高品質のコンテンツを含むソースアセットを作成することをお勧めします。このソースアセットは、信頼できる唯一の情報源("Single Source of Truth")として使用でき、その後、様々なビューアをサポートするために、それぞれ異なるマテリアル機能をサポートする、複数のターゲットにデシメーション(ポリゴン削減)や簡略化を行うことができます。
リアルタイム3Dアセットを作成する際の設計上の意思決定を最適化するには、ターゲット配信プラットフォームの機能と制限を理解することが重要です。視覚的な忠実度は、リアルタイムのパフォーマンスとバランスを取る必要があり、そのパフォーマンスはデバイス上でテストする必要があります。以下は、デスクトップWebおよびモバイルARプラットフォームの一般的な「最小公分母」ガイドラインです。
各パブリッシングターゲットについて
- ファイルサイズ: 5MB未満が理想的です。glTFジオメトリおよびテクスチャ圧縮拡張機能(KTXコンテナを使用したglTFユニバーサルテクスチャやDracoを使用したジオメトリ圧縮など)がglTFロードマップで広く利用可能になるにつれて、より小さなアセット、または同じアセットサイズでより高い視覚的忠実度が実現可能になることに注意してください。
- ドローコール: メッシュを統合し、使用するマテリアルを少なくすることで、ドローコールを最小限に抑える必要があります。
- 三角形数: 100,000三角形以下を推奨します。
- テクスチャのアスペクト比: 2のべき乗の解像度を使用してください。正方形のアスペクト比は必須ではありません。
- テクスチャサイズ: ベースカラー、ORM、およびエミッシブマップには、
1024*1024
(1K)または2048*2048
(2K)を使用してください。法線マップは、アルベドマップよりも解像度の低下に敏感であるため、2Kを推奨します。また、法線マップはJPGの圧縮劣化(アーティファクト)の影響を大きく受けるため、2KのJPGは1KのPNG法線マップと同程度の品質になります。