UE4でゲーム制作 【3DWidgetの表示がTemporalAAでおかしくなる】

遅まきながら、4.21から4.22へとアップデートしたところ、

3DWidgetの表示がぶれてしまうように。
左下の白いバーはstatic meshですが、こちらは問題なく表示されています。

TemporalAAはGBufferのVelocityを参照しているので
コマンドから”VisualizeTexture velocity”で表示してみます。

world座標で動きがある部分が黄色く表示されているようです。
velocityからカメラの動きを引いたものが相対的な動きになるはずのところ、
3DWidgetのみカメラの動きが考慮されていないように見えます。

原因を探すにあたり、このスレッドを参考にしました。
むしろなんで今までちゃんと動いてたんだろう…?

ちなみに、同じくVelocityを参照しているmotion blurもこうなります。

誰よりも動いてないはずのUIに誰よりも激しいブラーが……

また、空っぽのプロジェクトで試すと、

ぶれる。
どうやらプロジェクトではなくエンジン自体に原因がありそうです。

いつかは修正が入るのかもしれませんが(今までは動いてたし)
コミケ直前に慌てるのは嫌なので、今のうちに直しておくことに。
根本的な修正にはエンジンに手を入れなくてはならなさそうなので、
とりあえず対処療法でなんとかします。

方法1. TemporalAAをFXAAにする


Widgetはきれいに表示されます。
ただ、動画だと違いがわかりにくいかもしれませんが、
実際の画面では、TemporalAAを見慣れているとちょっともの足りない感じです。

方法2. Widgetの設定 UserInterface/SpaceをScreenにする


Viewportにくっつけるのと同じような感じ……なのかな?
今回はポストプロセスとの兼ね合いもあるので、別の方法を使います。

方法3. 3DWidgetをstatic meshにする

こちらを参考にしながら、
Widgetをテクスチャに書き出して、メッシュに貼り付けてやります。


いいかんじ!
マテリアルの方で調整もできるので、元の画面に近づけたと思います。

—–
2019年6月13日 記述に誤りがあったので修正しました。