Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@hannover_bloss

UE4のPlanar Reflection(平面反射)について

この記事は裏UE4 Advecnt Calender 2016の16日目の記事になります。

UE4.12で実装されたPlanar Reflectionを自作プロジェクトで使ってみて、
その時分かったことや使い方についてまとめました。
今更な内容かもしれませんが、おさらいだと思って見ていただけると幸いです。

使ってみました

Screen Space Reflectionでもまあまあきれいなんですが、
いまいち満足いかないのでPlanar Reflectionを試してみました。
PR.jpg
きれいですね。
ビジュアルは文句ないです。
(水面はノーマルマップで歪ませてます。)

このプロジェクトは映像にしてYouTubeに上げています。
https://youtu.be/iJfnwQAZmBs
いつの間にかEPICさんにチラッと紹介していただいてました。


実装

まず設定でPlanar reflectionを有効にする必要があります。
RC.jpg
プロジェクト設定>Rendering>Lighting>Support Global Clip Plane for Planar Reflectionsにチェックします。
※バージョンによって微妙に違うみたいです。
再起動してねって言われるのでします。

使い方はReflection Captureと似たような感じ。
モードタブから配置>ビジュアルエフェクト>Planar Reflection(平面反射)をレベルに配置します。
cap_3.jpg

でっかい鏡のような板が出てきます。
平面反射させたいオブジェクトの面(今回の場合は水面)になるべくピッタリ配置します。
スケーリングや回転もできるので、オブジェクトに合わせて大きさと角度を調節します。
Gキーでゲームモードにするか、Planar Reflectionの詳細タブでShow Preview Planeのチェックを外すと、でっかい鏡が消えて対象のオブジェクトに反射が反映されているのがわかると思います。

パラメータ

以下は自分で検証した結果こういうことかな?って結論に至った内容です。
間違ってるよってのがあったら教えてください。

Normal Distortion Strength

ノーマルの強度を調節できます。波一つない水面にしてみたり。

Prefilter Roughness

低解像度のテクスチャをごまかすのに使うらしいです。
値を上げると反射がぼやけた感じになります。

Distance from Plane Fade Start,End と Angle from Plane Fade Start,End

この4つのパラメータ、要は距離や角度を指定して平面反射の影響範囲を変えられるみたいです。
表示モードを反射にすると影響範囲が分かりやすいです。
cap_5.jpg
実際に反射するのはRoughnessが低く設定されているマテリアルだけなので、画像の影響範囲大の場合でも岩や地面まで反射するわけではないようです。

Prefilter Roughness Distance

Prefilter Roughnessが適応される距離。
値0は全ての距離で。値を大きくすると反射面から離れた箇所から適応されます。

Screen Percentage

反射結果の解像度を調節します。値を下げれば多少負荷を抑えられます。

Extra FOV

ノーマルマップで反射面を歪めるとエッジ部分にリークが発生する場合があります。
それを誤魔化すために反射側のFOVをいじれるみたいです。

Render Scene Two Sided

説明が難しいんですが・・・
チェックを入れると、反射するオブジェクトが自身の裏面を反射するようになります。
こちらもノーマルマップの歪みによってリークが発生した場合に使うようです。

問題点

もちろん高負荷で、映りこみの情報量が多いと倍以上の負荷がかかることも。
映像向けかもしれませんね。

以上です。
こういうのを書くのは初めてなので、分かりにくい点や間違った点などあると思うので
何かありましたら教えてください。

明日はシモダさんによる「裏的なナニカ」です。

10
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
10
Help us understand the problem. What is going on with this article?