1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[UE4] OculusQuestでポストプロセスを使わないでビネット効果を再現してみる

Posted at

はじめに

VR酔いを軽減するために、ポストプロセスのビネット効果を使用して視野を制限したかったのですが、OulusQuestではパフォーマンス上の制約のため、ポストプロセスを使うのは厳しいです。
そこで、ポストプロセスを使用せずにビネット効果のようなものを疑似的に再現する方法を試してみました。
完成イメージは以下動画のような感じです。

環境

Windows10
UnrealEngine 4.25.3

作り方

マテリアルの作成

・コンテンツブラウザ上で、新規追加=>マテリアルを選択して生成し、名前をM_Vignetteに変更します。
・M_Vignetteの編集画面を起動し、マテリアルの設定を変更します。
image.png
・M_Vignetteに以下のようにノードを追加します。中心を円状にくりぬいて、周囲をディザリングして中心から離れるほど濃くなるようにしています。DitherTemporalAAノードは、低コストで半透明っぽい効果を得られるのですが、自分のOulusQuest向け設定ではパフォーマンス優先のためTemporalAAは無効になっており、本来の効果は発揮できていません。
image.png

パネルの作成

・プレイヤーのキャラクターのカメラの前面に、視野を制限するためのパネルを設置します。コンポーネントを追加からPlaneを選択し、カメラに追従するようにカメラの下に配置します。
image.png
・パネルの位置と大きさは、動かしてみて適当な感じになるように調整します。マテリアルの所に、先ほど作成したM_Vignetteを設定します。
image.png
・あとはキャラクターの動きに合わせてパネルの表示有効・無効を切り替えるようにします。
image.png

参考資料

第2回UE4勉強会 in 大阪 - マテリアル基礎・初級
中心を円状にくりぬく方法、そのほかマテリアルの基礎知識について参考にさせていただきました。

[UE4] とりとめのないマテリアルネタ色々
DitherTemporalAAについて参考にさせていただきました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?