Up to date

This page is up to date for Godot 4.3. If you still find outdated information, please open an issue.

名前にサフィックスを使用したノードタイプのカスタマイズ

多くの場合、シーンを編集する場合、エクスポート後に実行する必要がある一般的なタスクがあります:

  • オブジェクトへのコリジョン検出の追加。

  • オブジェクトをナビゲーションメッシュとして設定する。

  • ゲームエンジンで使用されていないノードの削除 (モデリングに使用される特定のライトなど)。

このワークフローを簡略化するために、Godotには3Dモデリングソフトウェアのオブジェクトの名前に追加できるサフィックスがいくつかあります。インポートすると、Godotはオブジェクトの名前のサフィックスを検出し、自動的にアクションを実行します。

警告

以下に説明するすべてのサフィックスは、 -$_ とともに使用でき、大文字と小文字は区別されません

ノードの削除 (-noimp)

-noimp サフィックスを持つオブジェクトは、そのタイプに関係なくインポート時に削除されます。インポートされたシーンには表示されません。

これは [詳細インポート設定] ダイアログでノードに対して インポートをスキップ を有効にするのと同じです。

コリジョンの作成 (-col, -convcol, -colonly, -convcolonly)

オプション -col はメッシュオブジェクトに対してのみ機能します。検出された場合、メッシュと同じジオメトリを使用して、子の静的衝突ノードが追加されます。これにより三角形メッシュのコリジョンシェイプが作成されます。これは衝突検出のための低速ですが正確なオプションです。このオプションは通常、地形ジオメトリに必要なものです (ただし、以下の -colonly も参照してください)。

オプション -convcol は、ConcavePolygonShape3D ではなく ConvexPolygonShape3D を作成します。凹型にできる三角形メッシュとは異なり、凸型は凹角のない形状のみを正確に表現できます (ピラミッドは凸型ですが、中空のボックスは凹型です)。このため、凸型コリジョンシェイプは一般に地形ジオメトリには適していません。十分に単純なメッシュを表現する場合、凸型コリジョンシェイプは三角形コリジョンシェイプと比較してパフォーマンスが向上する可能性があります。このオプションは、ほぼ正確な衝突検出を必要とする単純なオブジェクトまたは動的オブジェクトに最適です。

ただし、どちらの場合も視覚的なジオメトリが複雑すぎるか、衝突に対して十分にスムーズでない可能性があります。これにより、物理的な不具合が発生し、エンジンが不必要に遅くなる可能性があります。

これを解決するには、 -colonly 修飾子を使用します。これによりインポート時にメッシュが削除され、代わりに StaticBody3D コリジョンが作成されます。これにより、視覚的なメッシュと実際の衝突を分離できます。

オプション -convcolonly も同様に動作しますが、凸型分解を使用する代わりに ConvexPolygonShape3D を作成します。

オプション -colonly は、Blenderの空のオブジェクトでも使用できます。インポート時にコリジョンノードを子として持つ StaticBody3D が作成されます。コリジョンノードには、Blenderの空の描画タイプに応じて、事前定義されたいくつかの形状があります:

Blender で Empty を作成するときに描画タイプを選択する

Blender で Empty を作成するときに描画タイプを選択する

可能であれば、三角形メッシュや凸型シェイプの代わりに、いくつかのプリミティブ衝突シェイプを使用するようにしてください。プリミティブシェイプは、多くの場合、最高のパフォーマンスと信頼性が得られます。

注釈

Blenderのエディタで見やすくするために、ユーザーはコリジョン用エンプティに「X-Ray」オプションを設定し、編集 > プリファレンス > テーマ > 3Dビューポート > エンプティ を変更して、それらに明確な色を設定できます。

Blender 2.79 以前を使用している場合は、代わりに次の手順に従ってください: ユーザープリファレンス > テーマ > 3Dビュー > エンプティ

参考

コリジョンシェイプの包括的な概要については、コリジョン形状(3D) を参照してください。

オクルーダの作成 (-occ, -occonly)

メッシュが -occ サフィックス付きでインポートされると、メッシュのジオメトリに基づいて Occluder3D ノードが作成されますが、メッシュは置き換えられません。 -occonly サフィックス付きのメッシュノードは、インポート時に Occluder3D に変換されます。

ナビゲーションの作成(-navmesh)

-navmesh サフィックスを持つメッシュノードはナビゲーションメッシュに変換されます。元のメッシュオブジェクトはインポート時に削除されます。

VehicleBodyの作成 (-vehicle)

-vehicle サフィックスを持つメッシュノードは、 VehicleBody3D ノードの子としてインポートされます。

VehicleWheelの作成 (-wheel)

-wheel サフィックスを持つメッシュノードは、 VehicleWheel3D ノードの子としてインポートされます。

リジッドボディ(-rigid)

-rigid サフィックスを持つメッシュ ノードは、 RigidBody3D としてインポートされます。

アニメーションループ(-loop、-cycle)

loop または cycle トークンで開始または終了するCOLLADAドキュメント内のアニメーションクリップは、ループフラグが設定された Godot Animation としてインポートされます。 上記の他のサフィックスとは異なり、ハイフンは必要ありません。

Blenderでは、NLAエディタを使用し、アクションの名前に loop または cycle のプレフィックスもしくはサフィックスを付ける必要があります。