0
2

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ゲームを作るための勉強 その28 テクスチャを設定する

Last updated at Posted at 2023-03-28

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

目的

 テクスチャを設定して見栄えをよくしたいと思います。

ベースプロジェクト

 下記で作成したプロジェクトをベースに機能追加をします。
 【Godot 4.0】スマホ3Dゲームを作るための勉強 その27 動く障害物を作る その2 回転ドア
 https://qiita.com/FootInGlow/items/d22c1949e2c1d33fa756
 
 github(Godotのプロジェクトマネージャーからインポートして利用できます)
 https://github.com/footinglow/Godot4/tree/main/02_study/S27StageItemRevolvingDoor

方法

 「3D TEXTURES」のCC0ライセンスのテクスチャを利用させていただいています。

地面の芝生を設定する

芝生のテクスチャをダウンロードする

 Googleで「3d textures stylized grass 003」を検索します。
 下の方にスクロールして、「DOWNLOAD ALL THE MAPS」ボタンを押下するとGoogle Driveに飛んでダウンロードできます。
 「Stylized_Grass_003_basecolor.jpg」というファイル名です。

Godotプロジェクトにテクスチャファイルを追加する

 エクスプローラでプロジェクトを開きます。
 assets/textureフォルダを作成して、ダウンロードしたテクスチャ「Stylized_Grass_003_basecolor.jpg」を格納します。下図の例でS28UseTextureがGodotのプロジェクトフォルダです。
スクリーンショット (321).png

 Godotでプロジェクトを開くと、自動的にダイアログが表示されてプロジェクトに画像ファイルがインポートされます。
スクリーンショット (323).png
スクリーンショット (327).png

地面シーンに芝生テクスチャを設定する

 地面ステージアイテムのres://StageItems/ground.tscnを開きます。
 MeshInstance3Dを選択して、インスペクタのMeshInstance3DのMeshの右のアイコンをクリックして詳細設定を開きます。
スクリーンショット (328).png
 Materialの右の緑の球をクリックします。
スクリーンショット (329).png
 albedoを開いて、textureの右の<空>をクリックして「クイックロード」を実行します。
スクリーンショット (331).png
「assets/texture/Stylized_Grass_003_basecolor.jpg」を選択します。
スクリーンショット (332).png
 テクスチャが設定されましたが、草が大きいので調整します。
スクリーンショット (335).png

 張り付けるテクスチャの大きさを調整するにはUV1というパラメータを変更するとよさそうです。
 UV1を開いてScaleのX,Y,Zを10に変更しました。
スクリーンショット (336).png
スクリーンショット (337).png

 Colorに設定していた緑色がテクスチャの色に影響しているため、albedoのColorを白(R,G,B=255,255,255)に変更します。
スクリーンショット (346).png

動く壁と回転ドアにアルミテクスチャを設定する

 GodotのアセットにDiamond Plated Aluminum Materialがあったので設定したいと思います。
 MITライセンスです。
 オリジナルはGodot3.0用で4.0ではそのまま使用できないので、テクスチャ画像をコピーして設定値は手動で入力します。
https://godotengine.org/asset-library/asset/314
スクリーンショット (347).png

テクスチャファイルをプロジェクトに配置する

 ダウンロードして解凍したフォルダ内から、3つのpngファイル、

  • diamondplate.png
  • diamondplate_spec.png
  • diamondplate_tex.png

を取り出して、assets/texture/godot-material-dpa-1.0.1フォルダの中に配置しました。
スクリーンショット (376).png
GodotのWindowに切り替えると自動でインポートされます。
スクリーンショット (378).png

動く壁にテクスチャを設定する

 res://StageItems/moving_wall.tscnを開きます。
 MeshInstance3Dを選択して、インスペクタのMeshInstance3D/Meshの右のアイコンをクリックして詳細設定を表示します。Materialの<空>をクリックして、新規StandardMaterial3Dを設定します。設定された型:StandardMaterial3D画像をクリックしてMaterialの詳細設定を開きます。
スクリーンショット (379).png
 下記の表にように設定・変更します。
 textureに画像を設定するところが3か所ありますが、<空>をクリックして「クイックロード」を選択するとプロジェクト内の画像を選択できます。

 textureを読み込むと初期化されるパラメータがあるのですべて設定後に再度チェックしましょう。

Materialのインスペクタ変更内容
項目 設定値
Material 新規StandardMaterial3D
Material/StandardMaterial3D/Albedo/Texture/ assets/texture/godot-material-dpa-1.0.1/diamondplate_tex.png
Material/StandardMaterial3D/Metaric/Metaric 0.65 ※texture読み込むと1.0に初期化されるので要確認です
Material/StandardMaterial3D/Metaric/Specular 0.4
Material/StandardMaterial3D/Metaric/Texture assets/texture/godot-material-dpa-1.0.1/diamondplate_spec.png
Material/StandardMaterial3D/Metaric/Texture Channel Gray
Material/StandardMaterial3D/Roughness/Roughness 0.3
Material/StandardMaterial3D/Normal Map/Enabled オン
Material/StandardMaterial3D/Normal Map/Texture assets/texture/godot-material-dpa-1.0.1/diamondplate.png
Material/StandardMaterial3D/UV1/Scale/x 0.25
Material/StandardMaterial3D/UV1/Scale/y 0.25
Material/StandardMaterial3D/UV1/Scale/z 0.25
Material/StandardMaterial3D/UV1/Triplanar オン
Material/StandardMaterial3D/UV1/Triplanar Sharpness 10.1
Material/StandardMaterial3D/UV2/Scale/x 0.25
Material/StandardMaterial3D/UV2/Scale/y 0.25
Material/StandardMaterial3D/UV2/Scale/z 0.25
Material/StandardMaterial3D/UV2/Triplanar オン
Material/StandardMaterial3D/UV2/Triplanar Sharpness 8.28 ※8.27に丸められる?

スクリーンショット (383).png

Materialを保存して回転ドアに適用します。

 Materialの右の球の右の「v」のアイコンをクリックして「保存」を実行します。
スクリーンショット (385).png
 Designフォルダを選択して、「diamondAluminum.tres」という名前で保存します。
スクリーンショット (386).png
「res://Design/diamondAluminum.tres」に保存しました。
スクリーンショット (354).png
保存するとMaterialの右のアイコンの表示が変わりました。
スクリーンショット (387).png

 次にres://StageItems/revolving_door.tscnを開きます。
 シーンの「MeshInstance3D」を選択して、インスペクタのMeshInstance3D/Meshの右のアイコンをクリックして詳細設定を開いて、Materialの右の<空>をクリックします。
 「クイックロード」を実行して「Design/diamondAluminum.tres」を開きます。
スクリーンショット (356).png
設定されました。MeshInstance3Dをコピペして作成しているためかMeshInstance3D2にも適用されました。
スクリーンショット (369).png

 先ほどの芝生とは違ってテクスチャが横に伸びていないのは、UV1のTriplanarをオンにしている効果のようです。試しにオフにすると横方向に伸びてしまいます。テクスチャのイメージをそのままの比率で張り付けるときには便利に使えそうですが、マニュアルを見るとTriplanarはUVと比較して処理負荷が高いようです。
確認した後はUV1のTriplanarはONに戻しました
スクリーンショット (372).png

実行

 実行して確認します。痛そうです。
スクリーンショット (388).png

 以上です。

0
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?