ゲームエンジンGodot4.0で3Dスマホゲームを作りたいと思いますが、その前にお勉強しています。
2023/3/1にstable版がリリースされました。
Godot_v4.0-stable_win64.exe.zipを使用しています。
目的
ゲームシステムをつくりたいとおもいます。
その前にシーン構成とファイル構成を整理します。
ベースプロジェクト
下記で作成したプロジェクトをベースに機能追加をします。
【Godot 4.0】スマホ3Dゲームを作るための勉強 その15 Playerをデザインする。アニメーションも。
https://qiita.com/FootInGlow/items/4ed492ba96645ddfca1c
github(Godotのプロジェクトマネージャーからインポートして利用できます)
https://github.com/footinglow/Godot4/tree/main/02_study/S15_CharacterDesign_Player
ブランチをまとめてシーンにする
global.tscnを整理します。
Playerシーンを作成する
Playerブランチをシーンにします。
res://global.tscnを開きます。
Playerノードを右クリックして、「ブランチをシーンとして保存」を実行します。
ファイル名とディレクトリを確認して、保存します。
保存されました。
StaticBody3DをGroundシーンとして保存する
StaticBody3DをGroundに名称変更しましょう。
Groundをシーンとして保存します。
ファイル名と保存先を確認して、保存します。
保存されました。
global.tscnについての考察とstage001.tscnへの名称変更
今回のゲームは敵の砦(Enemyシーン)をすべて破壊するとステージクリアです。逆に敵ソルジャー(EnemyBullet)がPlayerの陣地までくるとゲームオーバーです。
ステージをクリアすると次のステージに切り替わります。敵の砦の数、位置や障害物の配置など変化します。
そうするとglobal.tscnのうち変化しそうなのは、Enemy、Enemy2だけのようです。
ただステージを設計するときにPlayerやGroundもそろっていると、ステージデザインをGodotのエディターで編集しやすいメリットがあります。そうするとCamera3DとDirectionalLight3Dもあるとうれしいですね。
編集しやすいメリットを優先して、global.tscnはそのままひとつのステージの構成要素にします。
stage001.tscnに名称を変更します。
「stage001.tscn」に変更します。
変更されました。
「stage001.tscn」を開いて、ルートノードの「global」を「Stage」に変更します。
保存します。
GameSystemノードの作成とファイル整理
GameSystemシーンを作成します。
GameSystemシーンはゲームの開始終了やステージの入れ替えなど管理するので、res://stage001.tscn(先ほどglobal.tscnから名称変更したばかり)に代わり、メインシーンとしてプロジェクトに設定します。
GameSystemシーンを作成する
シーンメニューの新規シーンを実行します。3Dシーンボタンを押下するとNode3Dがルートノードとして追加されます。
「GameSystem」に名称を変更します。
子ノードとしてNode3Dを追加してください。
名称を「CurrentStage」に変更します。
res://stage001.tscnをシーン内の「CurrentStage」にドラッグアンドドロップします。
Stageという名前で子ノードとして追加されました。
保存します。game_system.tscnという名称になります。
game_system.tscnをメインシーンにします。
プロジェクトメニューからプロジェクト設定を実行します。
「アプリケーション/実行」にある「メインシーン」をgame_system.tscnに変更します。
保存して実行しましょう。今までと同じように動作すると思います。
ファイルシステムやシーン構成変更の作業時はまめに保存しましょう。
ファイルを保存せずに移動するとエラーがでてよくわからない状態になります。
ファイルシステムを整理する。
ファイルシステムを整理しましょう。
ディレクトリの作成
ディレクトリ名 | 役割 |
---|---|
Characters | プレイヤー、敵の砦、戦士たちなど |
Design | デザインシーン |
StageItems | Stageを構成する地面や障害物などのアイテム |
Stages | ステージデータ。名称はStage+数字 |
Characters、StageItems、Stagesの3つのフォルダを作成します。
(Designフォルダはすでにあるはず)
フォルダ名を入力します。
3つフォルダを追加するとファイルシステムは下記のようになります。
新規に追加したフォルダに合わせて、「Design」フォルダを「Designs」に変更したところアプリケーションが起動しなくなりました。ファイルに移動は対応していそうですが、フォルダ名変更には対応していないのかもしれません。
ファイルの移動
ファイルを移動しましょう。
Charactersに移動するファイルをCtrlキーを押しながらクリックして選択して、Charactersディレクトリにドラッグアンドドロップします。
・bullet.gd
・bullet.tscn
・Enemy.gd
・enemy.tscn
・Enemybullet.gd
・Enemybullet.tscn
・Player.gd
・player.tscn
res://ground.tscnは「res://StageItems/」にドラッグアンドドロップします。
res://stage001.tscnはres://Stages/にドラッグアンドドロップしましょう。
Designフォルダ以外を開いて表示しました。
このような形になったでしょうか?
以上です。