テクスチャをブレンドする(LinearInterpolate[Lerp])
2つのテクスチャをブレンドしてみましょう。
LinearInterpolateノード(ショートカットキー:L)を追加し、Aピンにベースのテスクチャを接続し、Bピンにブレンドしたいテクスチャを接続します。
DetailsでConstAlphaを0.8に変更します。
ベースのAのテクスチャにBのテクスチャがブレンドされた事が確認できます。
Alphaを0にすると、完全にAのみを出力し、Alphaを1にすると完全にBのみを出力します。
ちなみにRチャンネルをAlphaに接続すると、Rチャンネルの情報に従ってブレンドされます。
分かり易くすると、このようにRチャンネルの0~1情報マップがそのままAlphaになるので、Rチャンネルの領域でマスクされた部分がRチャンネルの情報に従ってブレンドされます。
プレビュー上ではマスク情報が赤色になってしまって紛らわしいのですが、前回説明した
RGBAチャンネルで各チャンネルは0~1情報を持ったグレースケールで表現されます。
このグレースケールで白い部分が濃い(1に近い)程ブレンド量が大きく、黒部分が濃い(0に近い)程ブレンド量が少なくなります。
なのでRチャンネルでマスクとブレンド量を指定し、別のテクスチャをブレンドする事も可能です。
チャンネルからVectorを生成する(AppendVector[Append])
以前各チャンネルはFloat型のデータと説明しましたが、RチャンネルとGチャンネルの2つを使用したい場合について。
方法は主に2つあって、AppendVectorを使用してチャンネルからVectorを生成する方法と、ComponentMaskでVector3をマスクしてVector2を生成する方法です。
ComponentMaskはDetailsでマスクしたいチャンネルにチェックを入れて使用します。
レイヤーマスクのように切り抜く(Multiply)
時にはレイヤーマスクのように部分的に切り抜きたい場合もあると思います、そんな時にはMultiply(ショートカットキー:M)を使用します。
Multiplyは単純な乗算なので、白い部分が濃い(1に近い)程表示量が大きく(マスク量が少ない)、黒部分が濃い(0に近い)程マスク量が大きくなります。
チャンネル部分を発光させる(OneMinus)
アルファチャンネルを使用して、アルファ部分を発行させます。
まずテクスチャのAlphaチャンネルを確認します。
白い部分が1で、黒い部分が0なので、AlphaチャンネルをそのままEmissiveColorに接続すると、発行させたい部分と逆の部分が発光してしまう事になります。
OneMinusノード(ショートカットキー:O)を使用して、チャンネルを反転させる必要があります。
またEmissiveColorは1以上でブルームが発生するので、Multiplyで100倍にします。
点滅させる(Time, Sine)
マテリアルを点滅させるにはTimeノードで周期生成し、SineノードでSin波形生成して点滅周期を作成します。
Sin波については高校数学の三角関数で習うものなので、中学生以下の人は
WikipediaでSin波がどんなものなのかだけでもチェックして下さい。
TimeノードのDetailsにあるPeriod脇のチェックボックスにチェックを入れると、Periodを変更して周期を変えることが出来ます。
外部パラメーターで周期変更したい場合はMutiplyを噛ませます。
UV座標スクロール(Panner)
TextureSampleにはUVsピンがあります。
これはUV座標スクロールの事でUnrealEngineでUV座標を移動させる事が出来ます。
UV座標というのはテクスチャ座標の事で、これも3Dモデリングソフトを使用した事が無い人には「なんじゃいそりゃ!さっきから専門用語並べやがって!」と思われてしまいますので簡単に説明すると、
3Dモデルのテクスチャを2D展開したもので、横方向をU、縦方向をVとしたUV座標系です。
UとVは何かの略称とかでは無く、XYZ座標と名称が被らないようにXの前のUとVを使ったとか何とか・・・
UE4のアセットで丁度良いの無かったのでMixamoのメッシュをBlenderを開いたものですが、
右のメッシュに使用されているテクスチャをUV展開したのが左のUV座標に表示されているものです。
マテリアルエディタのグラフにPannerノード(ショートカットキー:P)を追加し、SpeedXとSpeedYを0.2に設定し、UVsに接続します。
これでUV座標がスライドされるようになります。
タイリング(TextureCoordinate)
テクスチャをタイリングするにはTextureCoordinateノード(ショートカットキー:U)を使用し、UVsに繋げます。
DetailsでUTilingとVTlingでタイリング調整出来ます。
色々まとめ
マスクと点滅とタイリングとUV座標スクロールを文字通りまとめると
非常にやかましいマテリアルが出来上がりますw