2022-03-17

【マテリアル基礎】やさしい解説!Lerpノードの使い方【Unreal Engine】

Unreal Engineのマテリアルノード「Lerp」を可能な限りやさしく解説する。

Article Image

Lerpノードってなに?

LerpノードはUnreal Engineのマテリアルノード

Lerpノード外観

このように画像と画像をミックスするのがLerpの使い方。

使用例

画像を2つ接続してベースカラーに繋ぐ

画像をMIX例

プレビュー画面の出力結果は

結果

このように画像と画像を自然に合成するノードである。

補足:プレビューが球体になってしまう

球体

プレビューはデフォルトで球体になっているので、板ポリにする場合は同ウィンドウ右下の次を押す。

板ポリ

Lerpの出し方

このノードは厳密にはLinearInterpolateというノード名で日本人には少々記憶しづらい。

Linear interpolate

右クリックのノード追加画面でLerpで検索してもヒットしないのがネックだ。

ショートカット

このノードはLキーを押しながら左クリック により出すことができる。

検索するよりこちらのショートカットを覚えたほうが早い。

ADDノードで合成しちゃだめなの?

LerpではなくAddノードで合成すると次のようになる。

Addで合成した場合

ADDを使うと画像が白飛びしてしまうことがある。

先程Lerpで合成した画像と比べてみたら一目瞭然。

結果

ADDを使うケースもあるが画像同士の自然な合成はまずLerpからスタートしよう。

ADDは次の記事で解説

【マテリアル基礎】Addノードとは【Unreal Engine】 | 謎の技術研究部

Alpha入力

ここから少し難しくなる。

LerpにはAlphaという入力がある

Alpha入力

こちらも非常によく使うので覚える必要がある。

が、ちょっと概念が難しくなるので詳しく解説する。

絶対値で指定

まずAlphaの入力にノードを繋がなくても「詳細パネル」から絶対値を指定できる。

詳細パネルのalpha

例えばこれを0.8にすると

0.8に設定

「謎」のロゴがより強く浮き出てきた。

一応もう一枚の画像もうっすらと合成されている。

続いて、これを1.0にすると

1.0に設定

完全に「謎」のロゴだけになった。

つまりAlphaとは画像のブレンドの比率を表している。

※逆に0にすれば人の画像が100%になる

ノードで数値を設定

上では直接数値を入れたが、当然ノードで数値を入れても良い。

定数ノードを繋いでも上と同じ結果なので少し捻ってDebugTimeSineというノードを繋いでみることにする。

このノードはシンプルで0 ~ 1の数値を行ったり来たりするデバッグ用のノードだ。

DebugTimeSine

さて、Alpha0 ~ 1を行ったり来たりするとどうなるか。上を読んでいればイメージは出来ると思う。

1枚めと2枚めの画像が交互にミックスされながら変化する。

Alphaに画像を入れる場合

白と黒の画像

さて、ここからが一番難しい。

Alphaに次の画像をいれたらどうなるだろうか。

白と黒

白黒画像をAlphaに入力した場合、黒い部分が「0」白い部分が「1」として入力されたのと同義となる。

つまりAlphaに入力した白黒画像にしたがって合成の割合が変化することになる。

alphaに白黒画像

このように2つが四角形で区切られて別々に合成されている。

グレーが混ざった画像

こんどは白黒だけでなくグレーも混ざった画像を入れる。

フチにグレー画像

この結果は

フチは半々

グレーになっている部分は両方の画像がミックスされるので、このように円のフチにグラデーションがかかったような合成になる。

おまけ:Multiplyで合成

Multiply(掛け算)ノードで画像を合成することも良くあるので例だけ出しておく。

Multiplyノード

結果は

Multiply結果

ちょっと解説が難しいがこういう合成の仕方もあるので場合によっては試してみてほしい。

画像の「真っ白」な部分がどのように合成されているかに注目してみると良いと思う。

Multiplyの解説は次

【マテリアル基礎】Multiplyノードとは【Unreal Engine】 | 謎の技術研究部

以上

Lerpだけでもやろうと思えばかなり複雑な例が色々有るかとは思うが概念の理解だけなら以上で良いと思う。

Lerpは画像と画像を自然にミックスする場合もあれば、Alphaを使って画像を切り替えたり、アニメーションさせたりする目的でも使える。

またアルファ画像同士をLerpした後に更に別のノードのAlphaへ繋いでいくといったようなことも。

なんだかんだでよく使うノードなので初心者は確実にAlphaの概念まで覚えておきたい。



この記事をシェア


謎の技術研究部 (謎技研)