goo

HMDにおける画面のカクつき軽減策

2025年02月01日 | 3D

clusterにアップしている自作ワールドにて、ヘッドマウンドディスプレイ(いわゆるVRゴーグル)で入った際に視界がガタガタと揺れるようなカクつきが起こることについて、ある程度軽減ができたので自分メモを兼ねたご報告です。

まずはこちら、「Shrine of Four Seasons」。

容量は40~50MB程度ですがワールドに入った瞬間から中央の噴水が視界に入っている限りずっと画面が大きく揺れ続けていました。しかし噴水に近づくと収まるので噴水が原因ではないよう?

「噴水のパーティクル処理が重いのかも?」「ビットレートがあっていないのかも?」「水面で透明なマテリアルを重ねて回転させているのがレンダリングの負荷を増大させているのかも?」「床面のモザイクタイルの質感が複雑すぎるのかも?」と色々考えて変えてみたのですが一向に解決せず、どう原因を割り出したらいいのかも分からず…という状態でしばらく経ってしまったあるとき、再生(▶)モードで「Statistics」をオンにしてFPSの値が30を下回るとカクつきが起きるタイミングと一致することに気づきました。

オブジェクトを一つずつ非表示にしたりして30FPS未満になる状況を調べたところ原因は噴水の周りに置いている椰子の鉢植え。それも当時16個あった鉢植えが全て視界に入った瞬間が一番危険なよう。うん、まあ椰子は葉っぱ多いしね。鉢も結構複雑な形だしね。葉や模様はモデリングせずシンプルな形に画像でマッピングするべき? だって作りたかったんだもの…。

という個人的な我儘も通しつつ、まずは葉っぱの幅を広くして数を減らし、鉢植えそのものの数も減らし、配置する間隔を広げて一度に視界に入らないようにしたところカクつきはほぼ解消しました。

 

次はこちら「リストランテ「オリーブの家」」。容量は30MB前後。

エントランス付近と2階のドア周辺でカクつきが発生していました。

「オリーブの木の枝が多すぎるのかも?」「ガラス戸のせいかも?」「海の回転が負担になっているのかも?」「もしかして各テーブルに置いたシャンパンの泡のパーティクルが原因?」と色々考えてみたのですが、こちらも椰子の木の鉢植えが原因と考えてシンプルなモデルで作れるウチワサボテンに変更したところ概ね改善しました。

しかしエントランス付近ではまだ少しカクつきが発生するので改善の余地ありです。

ちなみに夜バージョンは更にカクつきが大きいです。アプローチから販売中のアバターが見えないよう壁の裏に配置変更したりしてみたのですが、多分料理の種類が多いのでモデルの複雑さによる負荷が大きいんですね。こちらも何とか改善したい。

 

最後に「薔薇色のコンサートホール」。

音楽イベント用ということもあり、できるだけ軽くを心掛けていたので元々カクつきは発生していなかったのですが、ホールに入った直後にFPSが下がることが確認できました。こちらの原因はリアルタイムのライト。特にたくさんある座席の影を表示するのに負荷がかかっていたようです。ディレクショナルライトのタイプをBakedに変え、ベイク対象も増やしたところFPSが改善しました。

ライトマップを軽くしようとしたのが却って良くなかったみたいです…。

 

リストランテのワールド2つはまだ改善が必要なので引き続き対策を考えます。複雑な形状のモデル(容量自体は数十KB程度)が負担になっているのはわかっているのですが…でもモデリングしたくてメタバースやってるのもあるし…。

goo | コメント ( 0 ) | トラックバック ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
 
コメント
 
コメントはありません。
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。