UE4で鏡の様な映り込みの作り方
UE4で鏡や金属、ガラスの様な表面が滑らかな質感を表現する際には映り込みの表現を適切に行う必要があります。
映り込みに何を映り込ませるかについては様々な方法で設定をすることができますが、事前に設定したHDR画像の様なものを映り込みとして設定するような手法に加えて、シーン上に配置したアクタ同士が互いに映り込み合うようにすることでより複雑な映り込み表現を実現できます。
UE4ではアクタがそれぞれをお互いに映り込むような表現手法ではリアルタイムレイトレーシングを使用しないのであれば、スクリーンスペースリフレクション(ScreenSpaceReflection)という機能が利用できます。
・スクリーンスペースリフレクションを使用していない
![](http://dipross.co.jp/eng/wp-content/uploads/2020/07/blog_uchiyama7-1024x580.png)
・スクリーンスペースリフレクションを使用している
![](http://dipross.co.jp/eng/wp-content/uploads/2020/07/blog_uchiyama8-1024x580.png)
スクリーンスペースリフレクションはリアルタイムで描画されるため、動く物体であっても映り込みが表現されます。
ですが、あくまで疑似的に表現される反射であるため、あまり正確ではありません。
表面がある程度マットな質感で映り込みがぼやける様な表現や、複雑な形状の中の映り込みで正確であってもなくてもわからないような場所での映り込みであれば疑似的な反射でも問題ありませんが、ツルツルした床や大きな鏡の様な平面的で反射が正確でないと空間に違和感を覚えてしまうような場所の場合、スクリーンスペースリフレクションは使いにくくなってしまいます。
そこでUE4では平面反射アクタ(PlanarReflections)を使用することで鏡の様な平面的な場所の映り込みを正確に表現することができます。
平面反射を使用するには事前にプロジェクト設定をしておく必要があります。
編集→プロジェクト設定からプロジェクト設定を開きます。
![](http://dipross.co.jp/eng/wp-content/uploads/2020/07/blog_uchiyama01-1024x529.png)
左側のメニューからエンジン→レンダリンクを選択し、「平面反射のグローバルクリッププレーンをサポート(Support glabal clpi plane for Planar Reflections)」にチェックを入れてください。
※エディターの再起動とシェーダーの再コンパイルが必要になる場合があります。
再起動が済むと平面反射が使用できます。
![](http://dipross.co.jp/eng/wp-content/uploads/2020/07/blog_uchiyama2.png)
アクタを配置からビジュアルエフェクトタブを開き、平面反射アクタをシーン上に配置します。
![](http://dipross.co.jp/eng/wp-content/uploads/2020/07/blog_uchiyama5-1024x580.png)
平面反射アクタ(PlanarReflections)を配置するとシーン上に巨大な鏡の様な板が配置されます。
この板を平面的な反射を行わせたい平面の部分に重ねるように配置します。(サイズなどは適宜設定して問題ありません)
![](http://dipross.co.jp/eng/wp-content/uploads/2020/07/blog_uchiyama9-1024x580.png)
この状態で実行すれば平面反射が動作します。(鏡のようなアクタのビジュアルは実行時は非表示になります)
ですがこの状態では
・平面反射アクタの鏡の様な見た目が少し邪魔
・平面反射の映り込みの画質が少し粗い
といった問題があります。
そういったことが気になる場合は平面反射アクタのプロパティ欄(詳細欄)からの設定で改善することができます。
![](http://dipross.co.jp/eng/wp-content/uploads/2020/07/blog_uchiyama6.png)
Show Previwe Planeのチェック欄で鏡の様な板のアクタのビジュアルのエディタ画面上での表示の有無を設定できます。
Screen Percentageの項目では映り込みの画質を設定できます。処理動作の重さや求める品質と相談して設定してください。
以上が平面反射アクタの簡単な使用方法になります。
![](http://dipross.co.jp/eng/wp-content/uploads/2020/07/blog_uchiyama10-1-1024x716.png)
平面反射を使用することで「雨に濡れた地面に映り込む自動車」の様な表現も正確に行うことができます。
正確な映り込みはこういった大きなオブジェクトや建築物などの「接地感」にも関わりますので使いこなせるとより説得力のある表現が可能になります。
低価格・高精度・高柔軟性なpolygaシリーズ, EinScanシリーズなど、各種3Dスキャナーの販売・レンタル、3Dスキャナーを用いた計測・リバースモデリング・解析を承っております。
国内で急速にシェアを伸ばしているRaise3Dの販売やデモンストレーションを行っております。
CADソフトを使ったモデリング体験、3Dスキャナー・3Dプリンター・VRの事例紹介や実演を行うセミナー等を開催しております。