執筆バージョン: Unreal Engine 4.20
|
今回の記事では、4.20で追加されたカーブアトラスアセットについてご紹介します。
これまでもカーブアセット(https://historia.co.jp/archives/2678/)は使えましたが、マテリアルエディタにおいてカラー情報などを使用するためには、ブループリントを経由する必要があり、一手間必要でした。
新しく追加されたカーブアトラスアセットを使うと、カーブアセットで作成したカラーグラデーションを直接マテリアルエディタから参照することができるようになります。
カーブアトラスの設定
では、早速カーブアトラスアセットを作ってみましょう。
コンテンツブラウザを右クリックし、Miscellaneous > Curve Atlas からカーブアトラスアセットを作成します。

また、同じくMiscellaneous > Curveから後で必要になるカーブアセットも作っておきます。
カーブアセット作成時には、Curve Linear Colorを選んでください。

では、NewCurveLinearColorAtlas アセットを開きましょう。

Detail内のGradient Curvesにカーブアセットを追加できるようになっています。
ここに先程作成されたカーブカラーアセット(NewCurveBase)を指定します。
カーブを指定したあと、拡大してよく見てみるとテクスチャの上端にグラデーションが乗っているかと思います。指定したカーブアセットが上から順に並べられます。
デフォルトのTexture Sizeが256と大きく確認しづらいので小さい値を入れました。

マテリアルの設定
次にカーブアトラスをマテリアルから使用してみましょう。
コンテンツブラウザからマテリアルを作成し開きます。
マテリアルエディタ内でCurveAtlasRowParameterノードを追加し、

選択したCurveAtlasRowParameterノードのDetailパネルに先程作成したCurveとCurveAtlasアセットを割り当てます。
色がわかりやすいようにEmissive Colorにつなぎました。

CurveAtlasRowParameterのCurveTime入力にスカラー値を入れることで参照するCurveの値が出力されます。
デフォルトのNewCurveBase(リニアグラデーション)にサイン波を入力すると次のように変化します。

では、新しく別のカーブアセットも作ってみましょう。
まず、カーブアセット(Curve Linear Color)を作成したらグラデーションを作り、

カーブアトラスに追加

マテリアルのノードにも設定します。

色数の多いグラデーションも簡単に作成でき、マテリアルエディタだけでプレビューできるので便利です。
LUT用途にも使い勝手がいいかなと思います。

また、マテリアルインスタンスを作成するとCurveAtlasRowParameterのCurveアセットを上書きできます。
バリエーションも増やしやすいです。

グラデーションが必要なときカーブアトラスを使えば、わざわざテクスチャを画像編集ソフトで用意しなくてもUE4エディタだけで対応できそうですね。色の調整も簡単にできるので効率的です。