UE4システム照明の作り方

またしても書物サボりがち、mozですこんにちわ。
本日はUE4でシステマティックに照明を並べるBluePrints(以下BP)を備忘録がてら書き残していきます。

オフィス空間やユニット化されている、規則性のある空間の照明配置、一つ一つやると手間ですよね、そこでBPをつかって一括で配置してパラメータも変えちゃう仕組みを作ってみましょう。



1).準備
まずは空のBPを作成します。
作成後、ConstructionScriptメニューに切り替えます。

画像1


2).数量、位置の変数追加
まずはForLoop関数をXとYそれぞれ用に2つ配置します。
変数タブでintegerのNumX,Y floatのPositionX,Yを作成します。
また、integerとfloatの乗算コンポーネントも作成しておきます。

画像4

スクショの通りForLoop関数を2つ、NumX,Y変数をエディタ上にドラッグ&ドロップ(Get Num~)し、それぞれのLastIndexにピンを接続します。(次のスクショ参照)
あわせてintegerとfloatの乗算コンポーネントも作成し、ForLoopのIndexからピンを接続しておきます。

照明の位置を決めるために先程制作したPositionX,Yの変数を、Numと同様にエディタ上にドラッグ&ドロップします。
さらに先程作成した乗算コンポーネントにPositionを接続します。

画像3


3).照明配置間隔ギミック完成
MakeVectorコンポーネントを作成し、乗算コンポーネントからのピンを
それぞれX,Yの入力ピンに接続します。
さらにMakeTransformコンポーネントを作成し、MakeVectorのReturnValueピンをLocationに接続します。

画像4

つづいて、Add Point Light Componentを作成しForLoop、MakeTransform出力ピンをそれぞれ図のように接続します。

画像5


これで照明の配置システムが完成です。


4).ライトの要素追加
それだけではなく、ライトの強度やカラーなどBP内を触らずに一括で変更したいですよね?

画像6

Add Point Light Componentの後ろに、Lightに含まれるパラメータ値のコンポーネントを追加していけば一括でシステム照明BPのパラメータ変更が可能となります。上記のスクショのように必要なライトコンポーネントを追加して行きます。 

それぞれのコンポーネントのtargetに、Add Point Light ComponentのReturn Valueピンから接続しておくことをお忘れなく。

今回組んだノードはこちら

画像7


最終成果物はこちら。


ちなみに直列でつなぐと個人的に視認性が悪いと感じるので、私はLight ComponrtのあとにSequenceノードをつないでいます。ご参考までに!

画像8


この記事が気に入ったらサポートをしてみませんか?