島で重要なものにプレイヤーの注意を引くためや、ゴーストのような設定といった特別な雰囲気を生み出すためなど、ライト エフェクトはさまざまな用途に使用できます。
このチュートリアルを開始する前に、このワークフローのバックグラウンド知識について、Unreal Engine の「エミッシブ マテリアル入力を使用する」を参照してください。
点滅するライト ビーコンを作成する方法については、基本チュートリアルで次のとおり実行します。
プロジェクトで新しいマテリアルを作成してから、マテリアル サムネイルをダブルクリックしてマテリアル エディタを開きます。
次のノードを追加します。
Time ノード
Sine ノード
Constant3Vector ノード
ComponentMask ノード
TextureCoordinate ノード
ConstantBiasScale ノード
BreakOutFloat2Components ノード
Saturate ノード
2 X OneMinus ノード
2 X Abs ノード
2 X Vertex NormalWS ノード
5 X Multiply ノード
プレビュー ウィンドウでメッシュをシリンダーに変更します。
カラーを Constant 3Vector 表現式ノードに追加し、1 番目の Multiply ノードの B 入力に接続します。
Constant 3Vector 表現式ノードを右クリックして、パラメータ ノードに変更し、bottom 入力を 1 番目の Multiply ノードの B 入力に接続します。
Constant 3Vector 表現式ノードの top 出力からドラッグして、1 番目の Multiply ノードの A 入力と Main Material ノードの Base Color 入力に接続します。
Multiply ノードからドラッグし、Main Material ノードの Emissive Color 入力に接続します。
このコンフィギュレーションにより、ベース カラーを作成し、エミッシブ入力でライト エフェクトを乗算します。 [Details (詳細)] パネルで [Material Expression Vector Parameter] の [Alpha] 入力の数値を変更することで、カラーの輝度を変更できます。
これでメッシュにマテリアル エフェクトを適用する準備が整いました。
TextureCoordinate ノードからドラッグして BreakOutFloat02Components ノードに接続します。 このコンフィギュレーションでは頂点が占める空間がどれくらいかを設定します。
BreakOutFloat02Component ノードの G 出力からドラッグして、ConstantBiasScale ノードに接続します。 これによりテクスチャ空間のパラメータが -1 と +1 の間になります。
ConstantBiasScale ノードを展開し、Bias 値を「-0.5」に、Scale 値を「2.0」に変更します。
ConstantBiasScale ノードからドラッグして、1 番目の Abs ノードに接続します。 これによりすべての負の値が正の値に変換されます。
1 番目の Abs ノードからドラッグして OneMinus ノードに接続します。
OneMinus ノードからドラッグし、2 番目の Multiply ノードの A 入力と B 入力に接続します。 これにより値の Y 成分と X 成分が反転されます。
2 番目の Multiply ノードからドラッグし、3 番目の Multiply ノードの A 入力に接続します。
Main Material ノードを選択し、[Details] パネルで [Blend Mode (ブレンド モード)] > [Translucent (透過)] の順に選択します。
3 番目の Multiply ノードからドラッグし、メイン ルート ノードの Opacity 入力に接続します。
このコンフィギュレーションでは、シリンダーの上部と底部にフェーディング エフェクトを適用したとき、シリンダーの形状が変わらないようにします。
VertexNormalWS ノードからドラッグして、ComponentMask ノードに接続します。
ComponentMask ノードを選択し、[Details] パネルの [Material Expression Component Mask] で B 入力のみをオンにします。
ComponentMask ノードからドラッグして 2 番目の Abs ノードに接続します。
2 番目の Abs ノードからドラッグして Saturate ノードに接続します。
Saturate ノードからドラッグして OneMinus ノードに接続します。
OneMinus ノードからドラッグし、3 番目の Multiply ノードの B 入力に接続します。
Opacity 入力は強調表示されていませんが、プレビュー ウィンドウでシリンダーの形状が変わります。 懐中電灯からのビーム ライトのような形状になります。
Time ノードからドラッグして Sine ノードに接続します。
Sine ノードからドラッグし、4 番目の Multiply ノードの A 入力に接続します。
Constant ノードからドラッグして、Multiply ノードの B 入力に接続し、数値を「15.0」に変更します。 これにより点滅エフェクトのスケールが得られます。
4 番目の Multiply ノードからドラッグして、5 番目の Multiply ノードの A 入力に接続します。
VertexNormalWS ノードからドラッグして、5 番目の Multiply ノードの B 入力に接続します。 これによりメッシュの頂点法線に従ってパルスのスケールを決定します。
5 番目の Multiply ノードからドラッグして、マテリアルのルート ノードの World Position Offset 入力に接続します。
ここでシリンダーは正弦波の周期で点滅します。
このエフェクトをビューポートのメッシュに適用します。 正弦波の速度を編集して、点滅が遅いライトを作成できます。