GodotでGLBファイルをインポートする方法
Godot Engine バージョン4.3
このチュートリアルでは、Godot 4.3でGLBファイル(3Dモデル)をインポートしてシーンに配置する基本的な方法を解説します。GLBファイルは3Dアセットの標準形式の1つで、モデル、マテリアル、アニメーションを一つのファイルで管理できます。
1. GLBファイルの準備
GLBファイルをプロジェクトにインポート:
- 自分で作成した3Dモデルを使用するか、オンラインで入手します。
ファイルをGodotプロジェクトに配置:
- ダウンロードしたGLBファイルをGodotプロジェクトの
res://assets/models/
フォルダに移動します。
ファイルをGodotプロジェクトに配置:
ダウンロードしたGLBファイルをGodotプロジェクトの
res://assets/models/
フォルダに移動します。res://├─ assets/│ ├─ models/│ │ ├─ example_model.glb
2. Godotへのインポート
GLBファイルをプロジェクトにインポート:
- ファイルシステム(
FileSystem
)パネルに移動。
example_model.glb
を確認します。Godotは自動的にインポートを行います。
インポート設定の確認:
- GLBファイルを右クリックし、Importタブを選択。
- 必要に応じて以下の設定を変更します:
- Presets: Defaultで問題ありません。
- Materials: 自動でインポートされたマテリアルを確認。
- Animations: アニメーションが含まれている場合、このオプションを有効にします。
- 設定後、Reimportをクリック。
3. GLBファイルをシーンに追加
新しいシーンを作成:
- ルートノードとして
Node3D
を設定。
GLBファイルをシーンにドラッグ&ドロップ:
- ファイルシステムパネルからGLBファイルを
Node3D
にドラッグ&ドロップします。
- GLBファイル内のモデル、マテリアル、アニメーションが自動で展開されます。
モデルの確認:
- シーンビューでモデルの外観を確認し、必要に応じてモデルのスケールや位置を調整します。
4. スクリプトでGLBファイルを読み込む
GLBファイルを動的にロードする場合、以下のコードを使用します:
extends Node3D
@export var glb_file: PackedScene
func _ready(): if glb_file: var instance = glb_file.instantiate() add_child(instance) instance.translation = Vector3(0, 0, 0)
使い方:
glb_file
プロパティにGLBファイルをドラッグ&ドロップします。
- 実行時にモデルがロードされます。
5. アニメーションの再生
GLBファイルにアニメーションが含まれている場合、
AnimationPlayer
またはAnimationTree
を使用して再生できます:AnimationPlayerの追加:
- GLBモデルの子ノードとして
AnimationPlayer
を追加。
- インポートされたアニメーションを
AnimationPlayer
に割り当てます。
アニメーションの再生:gdscriptコードをコピーする
extends Node3D
func _ready(): $AnimationPlayer.play("animation_name")
6. 照明とカメラの設定
モデルをより見栄え良く表示するために、以下をシーンに追加します:
- DirectionalLight3D: 全体を照らす光源。
- Camera3D: モデルを表示するためのカメラ。
- カメラをモデルに向けて配置し、プレビューを確認します。
7. 物理的な相互作用を追加(オプション)
GLBファイルにコリジョンを追加して、物理的な相互作用を可能にします:
- StaticBody3DまたはRigidBody3Dをモデルの親ノードに設定。
- CollisionShape3Dを子ノードに追加。
- 適切な形状(Box、Sphere、Convex)を設定してコリジョンを調整します。
8. 完成!
これで、Godot 4.3でGLBファイルをインポートしてシーンに配置する基本的な流れが完成です。あとはゲームに合わせてGLBモデルを活用しましょう。