歩けるゲームの作成
2026/7/4
ゲームの制作はGodotEngine4.6.2を使って行う。
手順やコードはほとんどChatGPTに丸投げして進めていく。
「どうやるの?」と聞きまくってその通りにするだけと言うとちょっと人聞きが悪いが「どんな状況なのか」と「何がしたいのか」を考えて正確に伝えさえすれば相当な手間をショートカットできる、というのがツールとしての今のAIの本質だと思う。
まずは作った3Dモデルをゲームで使える形に出力する。
3Dデータのファイル形式についてはよくわからないが.glbという形式でエクスポートすれば問題ないようだ。

Blenderのエクスポート設定で選択したオブジェクトのみを出力できる。
この際にミラーやサブディビジョンサーフェスなどのまだ適用していないモディファイアーを適用状態で出力できる。
これができるのだからモディファイアーは編集中にはできるだけ適用すべきではない。

Godotで新規3Dプロジェクトを作成したら、プロジェクトフォルダに.glbファイルを入れるとリアルタイムで自動インポートされる。
ファイルシステムを見るとテクスチャ画像などが自動で展開されている。
この素材を使ってゲームを作った状態でフォルダ内のファイルを変更するとゲーム内の素材も自動で更新される。
なんならデバッグ中でゲームが動作している最中に変えても更新される、すごい。
作成したばかりのプロジェクトにはNode3Dというノードがあるだけ。
これは位置情報を持つだけの空フォルダのようなものという認識でいいらしい。

ここに作成した3Dモデルをドラッグ&ドロップするだけでゲーム内にモデルが設置できる。
キャラクターを作るときは、衝突判定などの機能をはじめから内包したCharacterBody3Dというノードを使うといいようだ。

CharacterBody3Dを新規作成し、その中にモデルをドラッグ&ドロップ、CollisionShape3Dという当たり判定を司るノードを入れてあげればこれだけでキャラクターとして成立するとのこと。
まだ当たり判定の形や大きさを指定していないのでエラーが出ている。

ノードの各種設定は右側のインスペクターというところで変えられる。
CollisionShape3Dの形状はShapeというところに設定でき、四角や円柱は角が引っかかるのでキャラクターはカプセル型を使うのが一般的だそう。
位置や大きさはプレビュー画面の矢印でもインスペクターのTransformでも変えられるが、判定の大きさをここのスケールで変えるべきではない。
スケールはノード全体の大きさを変更するため、このノードに後から何か子ノードを追加した際に子ノードが一緒に拡大されてしまったりとトラブルの原因になる。

少しわかりにくいが形状を設定した後、CapsuleSape3Dをもう一度クリックするとサイズの設定画面が出る。
床判定のために足の裏だけピッタリと合わせ、他はやや小さめにしておくのがいいようだ。