執筆バージョン: Unreal Engine 4.20
|
事前に作成した「キューブマップ」を用いた擬似的なリフレクション表現(=環境マップ)は、UE4になってからはほとんど使われることがなくなりましたが、
メッシュパーティクルに使用するUnlitのマテリアルなど、処理負荷などの都合からリフレクションが適用できないマテリアルに対しては、まだまだ有効なテクニックです。
今回は、レベル上でキューブマップをキャプチャし、テクスチャ化する手順をご紹介します。
①モードから、”Scene Capture Cube”をレベルに配置してください
![](https://historia.co.jp/wp/wp-content/uploads/2018/07/2018-07-22_17h29_19.jpg)
※何もないシーンだとキャプチャ結果がわかりにくいのでカラーマン達で囲んでおきましょう
![](https://historia.co.jp/wp/wp-content/uploads/2018/07/2018-07-22_17h38_30-1.jpg)
②コンテントブラウザ上で右クリック→「マテリアル・テクスチャ」→「キューブの描画ターゲット」を押下してください
![](https://historia.co.jp/wp/wp-content/uploads/2018/07/2018-07-22_17h27_28.jpg)
③作成したRenderTargetを①で配置したScene Capture Cubeの”Texture Target”にアサインしてください
![](https://historia.co.jp/wp/wp-content/uploads/2018/07/2018-07-22_17h30_24-1.jpg)
Scene Capture Cubeからキャプチャした光景がRender Targetに反映されています
![](https://historia.co.jp/wp/wp-content/uploads/2018/07/2018-07-22_17h39_08.jpg)
④このままだとゲーム実行中もRender Targetが更新され続けてしまうので、イマイチ使いにくいです。
スタティックテクスチャ化することでキャプチャ画像を固定する事ができます。
![](https://historia.co.jp/wp/wp-content/uploads/2018/07/2018-07-22_17h39_53.jpg)
これで通常のキューブマップと同じように取り扱う事ができます。
![](https://historia.co.jp/wp/wp-content/uploads/2018/07/2018-07-22_17h40_47.jpg)
作成したキューブマップは、↓このようにマテリアル上で環境マップとして利用できます。
![](https://historia.co.jp/wp/wp-content/uploads/2018/07/2018-07-22_22h57_19.jpg)
また、SkyLightに対してアサインする事で、実行時にSkyLightが自動で再キャプチャされる事でたまに起こる、ビューポートとインゲームでのアンビエント光の差異を無くす事ができます。
![](https://historia.co.jp/wp/wp-content/uploads/2018/07/2018-07-22_22h27_01.jpg)
使いみち色々、ぜひお試しください!