エンジンを追いかけたところ、この現象は
Engine\Shaders\Private\MobileLightingCommon.ush
Engine\Shaders\Private\ForwardLightingCommon.ush
のシェーダー側に問題があるように思われます。
添付画像(Reflection00.png,Reflection01.png)はPlanarReflectionを適応する部分のコードなのですが、そこの条件分岐が
if (abs(dot(PlanarReflectionStruct.ReflectionPlane.xyz, 1)) > .0001f)
と記述されております。
この条件分岐は以下のコメントを読む限り
// Plane normal will be zero if the feature is disabled
平面法線が0で機能が無効であることを判定するためのもののようです。
しかしながら面の向ける角度によっては、
dot(PlanarReflectionStruct.ReflectionPlane.xyz, 1)
の部分で0になってしまうことがあります。
例えばReflection02.pngのようにReflectionPlaneが(0.7,-0.7,0)のような値になった場合です。
意図として0法線かどうかを判定したいだけなのでこの条件は
if (dot(abs(PlanarReflectionStruct.ReflectionPlane.xyz), 1) > .0001f)
のようにするか
if (dot(PlanarReflectionStruct.ReflectionPlane.xyz, PlanarReflectionStruct.ReflectionPlane.xyz) > .0001f)
のようにするのが正しいのではないでしょうか?
こちらのローカルでは条件を上記2つのいずれにしても状態が改善することを確認しています。
[Image Removed]
[Image Removed]