ワールドに木やサインを作成する場合、ワールド内のメッシュの位置に応じて メッシュ の色が変わるようなエフェクトを マテリアル に適用すると良いかもしれません。
色が変わるテクスチャを木の葉のメッシュに適用する方法の例としては、Sine を使用してメッシュの ワールド位置 をターゲットにして、Z 軸に沿った位置の変化に合せて色を変えることができます。
このエフェクトを作る方法は以下の通りです。
-
マテリアル エディタ で次のノードを前のコンフィギュレーションに追加します。
-
Linear Interpolate ノード
-
Sine ノード
-
Divide ノード
-
Component Mask ノード
-
Absolute World Position ノード
-
2X Constant 3Vector 表現式 ノード
-
-
Absolute World Position ノードからドラッグして、Component Mask ノードにつなげます。
-
Component Mask ノードを選択し、[Details] パネルの [Material Expression Component Mask] で [B] オプションのみをオンにします。
-
Component Mask ノードからドラッグして Sine ノードに接続します。
-
Sine ノードを選択して、[Details] パネルの [Material Expression Sine] の値を「1200」に変更します。
-
Sine ノードからドラッグし、Divide ノードの A 入力 に接続します。
-
Divide ノードの B 入力 の数値を「3.0」に変更します。
-
Divide ノードからドラッグして、Lerp ノードの Alpha 入力 につなげます。
Sine ノードの値では、期待する結果に及ばないことがあります。正弦波でマテリアルに値が追加されないことがわかった場合、Sine の出力をなくし、Divide の出力をサチュレーションして、すべてを規定の範囲に収めます。
-
1 番目の Constant 3Vector 表現式 ノードを選択して、カラーを追加します。
-
2 番目の Constant 3Vector 表現式 ノードを選択して、カラーを追加します。
-
1 番目の Constant 3Vector 表現式 ノードからドラッグして、Lerp ノードの A 入力 につなげます。
-
2 番目の Constant 3Vector 表現式 ノードからドラッグして、Lerp ノードの B 入力 につなげます。
-
Lerp ノードからドラッグして、メイン マテリアル ノードの Base Color 入力 につなげます。
画像をクリックすると拡大されます。
-
ツールバー で [Apply (適用)] をクリックします。
-
新しいマテリアルをビューポートでメッシュに追加します。
-
Z 軸に沿ってメッシュを上下に動かします。メッシュがあるワールドの位置に応じて、一方から他方へカラーが変わる様子がわかります。

Mask ノードにより、正弦波に従って色の変化が起きる場所が決まります。さらに Divide ノードにより、ワールド位置で色の変化を繰り返す頻度が決まります。
2 個の Constant 3Vector 表現式 ノードにより、ワールド位置で変わらない色が決まります。一方 Lerp ノードにより、ワールド位置の間で、2 つの色を補間し、メッシュがある場所に応じて、時間の経過でグラディエントを生み出します。
異なるノードの値を調整すると、ワールド位置で色の変化が起きる場所について感覚がつかめます。
マテリアルに対してカラー値を変更するたびに新しいマテリアルを作成する必要はありません。マテリアル インスタンス エディタ の使用に慣れている場合は、マテリアル パラメータを変更して、マテリアル インスタンスを変更できます。