Jetmanブログ

株式会社JETMANの中の人が、ゲームエンジンやUI/UX、クリエイターのキャリアデザインについて語ります。

UnrealEngine4でゲーム制作・水中のゆらぎを作る編

今回制作するもの

前回までに制作したBGに対して、Light Function Materialを使ったコースティクス風演出を作ってみます。

f:id:jetmanblog:20150120201441g:plain

コンテンツブラウザ上(ご自身でフォルダを管理して下さい)でMaterials>Lightningフォルダで新規マテリアルを作成し、名前をMAT_WLFMasterとします。ダブルクリックでマテリアルエディタを開きます。

マテリアルエディタでの作業

f:id:jetmanblog:20150120201941j:plain

①Worldposition、Multiply、Constant Nodeを追加します。Constant NodeのValueを0.005とし、WorldpositionとConstantをMultiplyに接続します。

②次にConponent maskを追加し、先のMultiplyと接続します。Conponent Mask Nodeを右クリックしStart Preview Nodeを選択すると、マテリアルの動きを確認できます。

③AddとConstant Nodeを追加し、ConstantのValueを-1とし、先のConponent MaskとConstantをAddに接続します。

④Time、Multiply、Add、Constant Nodeを追加し、ConstantのValueを0.2とし、TimeとConstantをMultiplyに接続、Multiplyと③のAddを今作成したAddに接続します。

⑤Sine Nodeを追加し、先のAddと接続します。Sine Nodeを右クリックして、マテリアルの動きをPreviewで確認してみましょう。

⑥TexturesフォルダでT_TileNoiseを検索し、マテリアルエディタにドラッグ&ドロップします。

⑦最初に作成したConstantとMultiply Nodeを複製し、新たにConponent Mask Nodeに接続、さらに⑥のTexture Nodeに接続します。

⑧先のTexture Nodeを複製します。Panner Nodeを追加し、Speed Xを0.1、Speed Yを0.1とします。⑦で作成したConponent MaskとPanner、Textureを接続します。

⑨MultiplyとAdd Nodeを追加し、④のAddと今追加したAddを接続、⑥と⑧のTexture NodeとMultiplyを接続、さらにAddと接続します。最後に⑤のSine Nodeと接続します。

⑩Desaturation Nodeを追加し、Sineと接続後、マテリアルのエミッシブ色に接続します。

⑪マテリアルのDetailsで、Material DomainをLight Functionに変更します。最後に上部ツールバーの適用ボタンを押してください。

レベル(シーン)に適用する

f:id:jetmanblog:20150121121044j:plain

レベルエディタに戻り、MAT_WLFMasterを複製します。PointLightをシーンに配置します。PointLightのDetailsでLightのCast Static Shadowのチェックを外します。同じくLight FunctionのLight Function Materialに先ほど複製したMAT_WLFMasterをアサインします。LightのColorを意図する演出に合うよう調整します。

この時、「preview」の文字が地面等に表示されますが、ビルド>ライトのみビルドを実行すれば正しい見た目になります。PointLightの影響範囲にゆらゆらと動く光が映し出されます。

次回は、この空間に3Dソフトでスケルトンアニメーションを組んだモデルデータを配置したいと思います。


株式会社ジェットマン|アプリ開発・UIデザイン

ゲーム領域|学科|宝塚大学 東京メディア・コンテンツ学部