🐡

[Godot] Terrain3Dでテクスチャを追加する方法

2023/11/15に公開

terrain3DはGodotの地形を生成するプラグインです。
wikiを見てテクスチャの追加だけ少し煩雑だとかんじたので作業フローを記録しておきます。

まずterrain3Dで使用するテクスチャはalbedo, displacement, normal, roughnessの4つです。
Gimpを使って上記の4つを2組の画像にくっつけます(Channel Packing)。テクスチャ容量の節約的な目的があるらしい?です(よくわかっていない)。
くっつける組み合わせはalbedo + displacement、 normal + roughnessとなります。
alobedoをRGBの3つのチャネルに分けて、そこへalpha channelとしてdisplacementを追加します。同様にnormalをRGBの3つのチャネルに分けて、そこへalpha channelとしてroughnessを追加します。4つに分かれたchannelを一つにまとめてエクスポートします。

具体的な手順(wiki

  1. どこかからテクスチャ(albedo, displacement, normal, roughness)をダウンロードしてくる
  2. GimpにDDSのプラグインを入れておく
  3. Gimpでalbedoを開く
  4. Gimpでdisplacementを開く
  5. albedoをcolors -> components -> decomposeでRGBに分ける
  6. displacementをalpha channelとしてalbedoにD&Dする(レイヤーの名前はalpha)
  7. colors -> components -> composeでRGBAの構成で再度一つにまとめる
  8. file -> Export as -> hoge_texture.ddsのように拡張子を.ddsにしてExport
  9. Export as DDSという設定画面がでてくるので、そこでCompressionをBC3/DXT5, MipmapsをGenerate Mipmapに変更してDDSとしてエクスポートする
  10. 同様にしてnormalとroughnessも一枚の画像にまとめてエクスポートする

あとはGodotで3d SceneにTerrain3D nodeを追加して、インスペクターのTexturesに新規テクスチャを追加して、そのテクスチャに2枚の画像をLoadするだけです。

Discussion