いろいろ作ってみよう・水仙花

ミニチュアやCGやキモノなどいろいろ作ってます

UE5で距離に応じてテクスチャを切り替える!

UEのノードよくわからないけど、がんばるぞい。

 

これは壁紙のテクスチャなんですが、至近距離だとちゃんと壁紙っぽいけど遠距離ではテクスチャがつぶれてグレーになってしまうのでなんとかしたい。

おそらく、広いオープンワールドだったり巨大な建物だったりを作る場合にも使う汎用性の高い技だと思うんですが、妙に分かりにくいポイントが多かったので覚書を残しておきます。

 

 

 

準備

まず、使うノードを全部出しておきます。検索名と表示名が違ったり謎にストレスなので先にがんばっておく。

大まかな作戦としては、「大きさとか変えるやつ」と「切り替える距離を設定するやつ」「近距離に表示させるテクスチャ」「遠距離に表示させるテクスチャ」の4つをうまいこと組み合わせることで「距離に応じてテクスチャを切り替える」ができます。

 

一つ一つ解説してきます。

 

大きさとか変えるノード群

  • Scalar Parameter x 2
  • Texture Coordinate x 1
  • Multiply x 2

の5種類を出します。

注意点としては、「param」というのは「Scalar Parameter 」のことです。「param」と検索しても出てこない、かつ、似たような名前のがいろいろあるので注意。

 

出し方は、右クリックして出てきた検索窓に名前を入れると候補が出てきます。

 

次は

距離を設定するノード群

です。

  • World_Position x 1
  • Camera_Position_WS x 1
  • Distance x 1
  • Divide x 1
  • Power x 1
  • Clamp x 1
  • Constant x 2

の合計8個を出します。

注意点としては、Distance

一番上に違うのが出てくる上に本命はすごく下のほうに出てくる。

それと、この数字だけの謎のやつ

これは「Constant(定数)」と打つと出てきます。

このあたりはほんとに分かりにくくて、せっかくググって先人のやりかたを見つけてもどうやって検索していいか分からなくてそこでストップしてしまうので改善してほしいところ。

 

 

あとは遠距離用のテクスチャと近距離用のテクスチャも用意します。

 

 

つなげる

ここまでできたらさくさくつなげていくだけ。

 

大きさとか変えるとこ

まずこんな風につなげて、

paramのところの数字を変えます。

1と4にするといいらしいです(なぜかはよく分かってない)

 

距離を設定するとこ

まずこんな風につなげて

Constantで距離も設定しておきましょう

まずconstantを選択してから左側のvalueで数字を変えます。数字はとりあえず500と4くらいにしておくといいかなと思います。

 

そしたら最後に全部を繋げます。

繋げるために「lerp」というのを検索して出します。これもどこにあるか分からない要注意なノードです。なんでこんなに分かりにくいん!!?

 

 

よしつなげる。

できた!

 

normalマップもつけたい場合は同様につけます。

参考

docs.unrealengine.com

 

それと、画像のサイズを変えたいときはここ。

テクスチャコーディネートで変えます。ここはチュートリアルで紹介されていた基本のやりかたと同じでいける。

 

 

できた!

これが

こうなった。

遠くのほうも謎グレーじゃなくなりました。

壁紙としてはいまいちのっぺりしているので、normalマップをつけたりして工夫したいと思います。