0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Godot 4.0】スマホ3Dゲームを作るための勉強 その13 キャラクターの色を設定します

Posted at

 ゲームエンジンGodot4.0で3Dスマホゲームを作りたいと思いますが、その前にお勉強しています。
 2023/3/1もstable版がリリースされました。
Godot_v4.0-stable_win64.exe.zipを使用しています。

目的

 敵の攻撃EnemyBulletも人にします。
 色を変更します。

ベースプロジェクト

下記で作成したプロジェクトをベースに機能追加をします。
 【Godot 4.0】スマホ3Dゲームを作るための勉強 その12 キャラクターデザインとアニメーション
 https://qiita.com/FootInGlow/items/0bada2d1485c4a667a82
 
 github(Godotのプロジェクトマネージャーからインポートして利用できます)
 https://github.com/footinglow/Godot4/tree/main/02_study/S12_CharacterDesignAnimation_001

Designファイルを別ディレクトリにまとめます。

 Designフォルダを作成して、キャラクターデザイン関係のファイルを移動しましょう。

Designフォルダを作成する

 ファイルシステム内の「res://」を右クリックして新規からフォルダを選択します。
 スクリーンショット (45).png
「Design」にします。
スクリーンショット (46).png
「Design」フォルダが作成されました。
design_my_soldier.tscn - S13_CharacterDesignAnimation_002 - Godot Engine 2023_03_05 23_16_01.png

デザイン関係のファイルを移動します。

 「design_my_soldier.tscn」と「design_my_soldier.gd」の2つのファイルをShiftキーを押下しながら選択します。Designフォルダにドラッグアンドドロップします。
スクリーンショット (47).png
移動しました。
C__Users_hathr_Videos_Captures [ main ↓0 ↑1 ] 2023_03_05 23_17_37.png

EnemyBullet用のデザインを作成します。

 EnemnyBullet用のデザインを作成します。
 Bulletの人の色違いを作成したいと思います。

design_my_soldier.tscnを複製する

 「design_my_soldier.tscn」を複製します。

 ファイルシステム内の「design_my_soldier.tscn」を右クリックして「複製」を実行します。
スクリーンショット (48).png
「design_enemy_soldier.tscn」にします。
スクリーンショット (49).png
複製されました。
design_my_soldier.tscn - S13_CharacterDesignAnimation_002 - Godot Engine 2023_03_05 23_25_22.png

design_my_soldier.tscnをEnemyBulletに設定する

 今複製した「design_my_soldier.tscn」を開きます。
 トップノード名を「DesignMySoldier」から「DesignEnemySoldier」に変更して保存します。

 次にEnemybullet.tscnを開きましょう
 ファイルシステム内の「design_my_soldier.tscn」をシーン内の「EnemyBullet」にドラッグアンドドロップします。
 スクリーンショット (52).png
 「DesignEnemySoldier」が追加されました。
スクリーンショット (53).png

 大きすぎるので、1/5に縮小します。
 「DesignEnemySoldier」を選択して、インスペクタ内のNode3D/Tranform/Scale/xを0.2にします。サイズのx、y、zはリンクされているので、yとzも0.2になると思います。

 今まで使用していた、MeshInstance3Dは不要になりましたので削除します。
(_) Enemybullet.tscn - S13_CharacterDesignAnimation_002 - Godot Engine 2023_03_05 23_38_31.png

 実行します。
Screenshot 2023_03_05 23_41_01.png

EnemyBullet(EnemySoldier)の色を変更する

 敵も味方も同じ色では判別しにくいので、敵側を赤にしましょう。

胴体の色を設定します。

 まず胴体に色をつけましょう。
 3Dモデルの表面の質感・色情報をMaterialといいます。また表面の色はAlbedoというパラメータで設定します。

 res://Design/design_enemy_soldier.tscnを開いて、Bodyを選択します。
 インスペクタ内のMeshInstance3D/Meshのカプセルのアイコンをクリックすると詳細設定が開きます。
 その中に「Material <空> 」とあるので、「新規StandardMaterial3D」を選択します。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3639313035302f33376231626539652d663434632d613132322d666432652d3934356365346336663235382e706e67.png
 Materialに新規のMaterialが設定されました。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3639313035302f65613662383032322d616261392d303064662d643963612d6164663938653935653065642e706e67.png

 今追加した、Materialを表す球をクリックして詳細設定を開きます。
 表面の色は「Albedo」という項目で設定できるので、開きましょう。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3639313035302f64366631356662622d343833662d663433302d643134632d3366383733656231643864382e706e67.png

 Colorの右の白色の長方形をクリックするとカラーピッカーが表示されるので色を選択します。
スクリーンショット (56).png
 色を選択すると、インスペクタのMaterialの球の色に反映されます。
 ビューポートに表示されている人の胴体の色も変更しました。
(_) design_my_soldier.tscn - S13_CharacterDesignAnimation_002 - Godot Engine 2023_03_06 0_11_02.png

胴体の設定を他のパーツにも反映する

 今設定した胴体の色を含むMaterial情報をファイルに出力して、他のパーツと共有しましょう。

 作業の続きなので、DesignEnemySoldierのBodyが選択された状態かと思います。
 インスペクタ内のMeshInstance3D/Meshのアイコン(カプセル型)をクリックして詳細設定を表示します。詳細設定の中のMaterialの横に球が表示されていると思います。
 球の右の「v」のようなアイコンをクリックして「保存」を実行します。
スクリーンショット (57).png 

 「design_enemy_soldier.tres」という名前で保存します。
design_enemy_soldier.tscn - S12_CharacterDesignAnimation_001 - Godot Engine 2023_03_06 0_14_24.png

 胴体以外のパーツのMaterialに「design_my_soldier.tres」を設定します。
 Headを選択して、MeshInstance3D/Meshのアイコン(球型)をクリックして詳細設定を表示します。
 詳細設定を表示した中に「Material <空>」があるので、その右の「v」アイコンをクリックして、「クイックロード」を実行します。
スクリーンショット (59).png

先ほど保存した、「design_enemy_soldier.tres」を選択します。
スクリーンショット (60).png
 頭に胴体と同じ色が設定されました。
design_enemy_soldier.tscn - S12_CharacterDesignAnimation_001 - Godot Engine 2023_03_06 0_18_29.png
 残りのパーツも同じMaterialを設定します。
 「Shoulder_Right」の「Arm」を選択して、Materialをクイックロードしましょう。
 そうすると左右の手足すべてのMaterialが変更されました。
(_) design_enemy_soldier.tscn - S12_CharacterDesignAnimation_001 - Godot Engine 2023_03_06 0_21_05.png

 右腕からコピーペーストで左腕、右足、左足をつくったため、Materialを共有してもっているのかもしれません。

 実行しましょう。
S12_CharacterDesignAnimation_001 (DEBUG) 2023_03_06 0_21_58 (1).png

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?