This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Defold は、glTF 2.0(GL Transmission Format)形式のモデル、スケルトン(skeleton)、アニメーションをサポートしています。3D モデルには .gltf または .glb ファイルを使用します。glTF は、ゲームエンジンやリアルタイムアプリケーションで 3D データの転送と読み込みを行うために設計された現代的な形式です。
Maya、3ds Max、SketchUp、Blender などのツールを使用して、3D モデルを作成したり glTF に変換したりできます。
Blender は、3D モデリング、アニメーション、レンダリングに対応した、高機能で人気のあるプログラムです。Windows、macOS、Linux で動作し、https://www.blender.org から無料で入手できます。

モデルをインポートするには、.gltf または .glb ファイルを Defold エディターの Assets ペイン にドラッグ&ドロップします。
glTF の保存方法には、主に次の2つがあります。
埋め込み画像は、別のアセットに抽出せず、glTF または GLB ファイルから直接使えます。外部の画像ファイルとバッファーファイルは、引き続き相対パスを保持してモデルと一緒にインポートする必要があります。
Defold は、インポートした glTF ファイルの位置とトランスフォームを保持し、インポート時にモデルの中心を自動調整しません。エディターのプレビューとランタイムは、インポートしたトランスフォームを一貫して使います。スキニングまたはボーンの親を持つメッシュは、スケルトンに対するローカルトランスフォームを保持し、リジッドメッシュは、フラット化したワールド配置を保持します。
Model コンポーネントでは、インポートしたシーンから名前付きメッシュを1つ選択できます。Mesh を空にするとシーン全体を使い、上記のトランスフォームを保持します。メッシュを選択すると、glTF ノードのトランスフォームを含まないローカルジオメトリを使うため、Model コンポーネントまたはゲームオブジェクトのトランスフォームで配置します。
古いバージョンの Defold で作成したモデルを再インポートした後に位置や向きが変わった場合は、Blender などの制作ツールでトランスフォームを修正し、.gltf または .glb ファイルを再度エクスポートします。
.gltf と .glb ソースには、Draco または Meshopt で圧縮したジオメトリを含められます。対応する glTF 圧縮拡張は次のとおりです。
| 圧縮方式 | glTF 拡張 |
|---|---|
| Draco | KHR_draco_mesh_compression |
| Meshopt | EXT_meshopt_compression と KHR_meshopt_compression |
これらの拡張のいずれかを使って glTF 2.0 アセットをエクスポートまたは最適化し、非圧縮モデルと同じ手順でインポートします。外部のバッファーとテクスチャも含め、相対パスを保持してください。通常どおり、インポートしたファイルを Model コンポーネントの Scene に割り当てます。
Defold は、インポート時とビルド時に圧縮ジオメトリをデコードします。生成されたモデルは、Defold の通常のランタイムジオメトリ表現を使います。この対応によって、実行中のエンジンで Draco や Meshopt の圧縮が有効になるわけではなく、ソースファイルが小さくなっても、ゲームのバンドルが小さくなるとは限りません。
Assets ペインで .gltf または .glb ファイルを展開すると、メッシュ、生成されたマテリアル、埋め込み画像を確認できます。シーンを開くと、定義済みのマテリアルとテクスチャを使ったプレビューが表示されます。個々のメッシュを開いてプレビューすることもできます。
ファイル内に公開されるリソースは読み取り専用です。メッシュから編集可能な Model リソースを作るには、メッシュをコピーしてプロジェクトフォルダーに貼り付けます。生成された .model ファイルは、引き続きインポートした glTF または GLB ファイルを参照します。ソースジオメトリや埋め込み画像を変更するには、制作ツールでアセットを編集し、再びエクスポートしてください。
エディタースクリプトでは、editor.resource_children(path) でこれらのリソースを列挙できます。フォルダーと glTF/GLB ファイル内のリソースを再帰的にたどる例は、プロジェクトリソースの走査を参照してください。
モデルのテクスチャには、外部ファイルとして、または .gltf や .glb に埋め込んだ画像として、.ktx2 ソースを使えます。外部ファイルはモデルと一緒にインポートします。埋め込み KTX2 画像は Assets ペインのシーンの下に表示され、マテリアルのテクスチャフィールドに直接、または Auto Fill で割り当てられます。
テクスチャプロファイルは、KTX2 のソース形式を保持するか、設定した出力形式に変換するかを決めます。テクスチャ圧縮が有効な場合、Keep KTX2 Format はソースの符号化形式を保持しますが、画像処理によって再エンコードが必要になることはあります。対象デバイスでの形式の対応状況を確認し、圧縮済みのテクスチャを再圧縮する際の追加の品質低下も考慮してください。KTX2 の入力形式とプレビューを参照してください。
モデルをインポートしたら、モデルコンポーネントで使用します。
選択した glTF または GLB ソースがマテリアルを公開する場合、エディターは割り当てを提案します。埋め込み画像と外部画像への参照の両方を解決します。生成されたマテリアルは、組み込みの glTF シェーダーを使います。ライティングと対応するマテリアル効果は、PBR マニュアルを参照してください。
Keep Current を選択した場合や、カスタムシェーディングが必要な場合は、各 Material に適切なマテリアルを設定します。組み込みの gltf マテリアルは PBR シェーディングを提供します。組み込みの model マテリアルや、独自のマテリアルも利用できます。静的、スキニング、インスタンシング用の種類と要件は、Model マニュアルを参照してください。
各テクスチャを、対応するマテリアルのテクスチャフィールドに割り当てます。Assets ペインの glTF または GLB ファイル内に公開される埋め込み画像、またはプロジェクト内の独立した画像アセットを使えます。複数のサンプラーを持つマテリアルでは、各テクスチャを目的のサンプラーに対応付けます。PBR マニュアルに組み込みの glTF サンプラー名の一覧があります。
エクスポートした .gltf または .glb ファイルには、モデルを構成するすべての頂点、辺、面に加え、定義されていれば UV 座標 (テクスチャ画像のどの部分がメッシュの特定の部分に対応するかを示す座標)、スケルトン内のボーン、アニメーションデータが含まれます。
ポリゴンメッシュの詳しい説明は、http://en.wikipedia.org/wiki/Polygon_mesh にあります。
UV 座標と UV マッピングについては、http://en.wikipedia.org/wiki/UV_mapping で説明されています。
Defold では、エクスポートするアニメーションデータにいくつかの制限があります。
現在、Defold はベイクされたアニメーションのみをサポートしています。アニメーションには、位置、回転、スケールを個別のキーとしてではなく、各キーフレームでアニメーションする各ボーンの行列が必要です。
アニメーションの補間には線形補間が使用されます。より高度なカーブ補間を行う場合は、エクスポーターでアニメーションを事前にベイクする必要があります。
モデルをエクスポートする際は、glTF の対応状況がツールやエンジンごとに異なることに注意してください。glTF 2.0 を使い、テクスチャを使うモデルでは正しい UV 座標を設定します。画像は glTF や GLB に埋め込むことも、シーンが参照する独立したファイルに保存することもできます。Defold にインポートする際は、すべての外部画像とバッファーファイルを含めてください。
glTF 形式の完全なサポートを目指していますが、まだ完全には対応していません。 不足している機能がある場合は、Defold のリポジトリで機能リクエストを作成してください。
テクスチャ画像を手動で作成する場合は、Blender から UV 配置をテンプレートとしてエクスポートできます。まず、メッシュとそのすべての頂点を選択します。

すべての頂点を選択したら、メッシュを展開して UV レイアウトを作成します。

続いて、UV レイアウトを、テクスチャとして使用できる画像にエクスポートします。


Blender の File ▸ Export ▸ glTF 2.0 (.glb/.gltf) を使用してモデルをエクスポートします。

選択したものだけをエクスポートしたい場合は、エクスポート前に1つまたは複数のオブジェクトを選択し、Selected Objects を有効にします。
Format のオプションから1つ選択します。
モデルにアニメーションが含まれる場合は、アニメーションのエクスポートを有効にし、アニメーションがベイクされていることを確認します。モデルにテクスチャを使用する場合は、メッシュが UV 展開されていることと、テクスチャ画像が PNG や JPEG など Defold でインポートできる形式でエクスポートされていることを確認します。
