UE4システム照明の作り方
またしても書物サボりがち、mozですこんにちわ。
本日はUE4でシステマティックに照明を並べるBluePrints(以下BP)を備忘録がてら書き残していきます。
オフィス空間やユニット化されている、規則性のある空間の照明配置、一つ一つやると手間ですよね、そこでBPをつかって一括で配置してパラメータも変えちゃう仕組みを作ってみましょう。
1).準備
まずは空のBPを作成します。
作成後、ConstructionScriptメニューに切り替えます。
2).数量、位置の変数追加
まずはForLoop関数をXとYそれぞれ用に2つ配置します。
変数タブでintegerのNumX,Y floatのPositionX,Yを作成します。
また、integerとfloatの乗算コンポーネントも作成しておきます。
スクショの通りForLoop関数を2つ、NumX,Y変数をエディタ上にドラッグ&ドロップ(Get Num~)し、それぞれのLastIndexにピンを接続します。(次のスクショ参照)
あわせてintegerとfloatの乗算コンポーネントも作成し、ForLoopのIndexからピンを接続しておきます。
照明の位置を決めるために先程制作したPositionX,Yの変数を、Numと同様にエディタ上にドラッグ&ドロップします。
さらに先程作成した乗算コンポーネントにPositionを接続します。
3).照明配置間隔ギミック完成
MakeVectorコンポーネントを作成し、乗算コンポーネントからのピンを
それぞれX,Yの入力ピンに接続します。
さらにMakeTransformコンポーネントを作成し、MakeVectorのReturnValueピンをLocationに接続します。
つづいて、Add Point Light Componentを作成しForLoop、MakeTransform出力ピンをそれぞれ図のように接続します。
これで照明の配置システムが完成です。
4).ライトの要素追加
それだけではなく、ライトの強度やカラーなどBP内を触らずに一括で変更したいですよね?
Add Point Light Componentの後ろに、Lightに含まれるパラメータ値のコンポーネントを追加していけば一括でシステム照明BPのパラメータ変更が可能となります。上記のスクショのように必要なライトコンポーネントを追加して行きます。
それぞれのコンポーネントのtargetに、Add Point Light ComponentのReturn Valueピンから接続しておくことをお忘れなく。
今回組んだノードはこちら
最終成果物はこちら。
ちなみに直列でつなぐと個人的に視認性が悪いと感じるので、私はLight ComponrtのあとにSequenceノードをつないでいます。ご参考までに!
この記事が気に入ったらサポートをしてみませんか?