VITALIFY.ASIA logo

[Unity] VR空間の公園を散歩するデモ開発

VRヘッドセットと足踏みセンサーを組み合わせ、ベッドに寝たままでもVR空間の公園を散歩できるデモを作成。

[Unity] VR空間の公園を散歩するデモ開発
目次

アセットストアで購入した公園のアセットを使用して、VR空間の公園を散歩するデモを作りました。

今回使用したアセットはこちらです

City park - exterior props | 3D Environments | Unity Asset Store
Elevate your workflow with the City park - exterior props asset from Mixall. Find this & other Environments options on the Unity Asset Store.

このアセットを購入したすぐの状態では、シーンは激重で、Unityエディタ上でも10FPSくらいまでしか出ませんでした。いろいろと手を加えてOculus Quest 2でもスムーズに動くようになったので、いかに工夫した点をまとめておきます。

FPS改善のための施策

GPU Instancingはオンにする

これはもう基本中の基本です。

公園のシーンは基本的に何度も繰り返し使用されるオブジェクトがほとんどです。そのため、マテリアルのEnable GPU Instancingの設定をオンにすることで、同じオブジェクトは一回でまとめて描画してくれるようになります。

なぜか購入時はこの設定がオンになっていませんでした。

影を落とす側のオブジェクトを極力絞る

その物体が他の物体に影を落とすか否かの設定はRendererのCast Shadowsで設定します。

デフォルトではすべてのオブジェクトのRendererのCast Shadowsがオンになっていますので、意識せずに公園のような広大な風景を作るとと普通に数千という数のオブジェクトが影を落とすことになります。

Frame Debuggerで確認してみると分かりますが、この数が如実に描画速度に影響を与えます。

道の縁石が地面に落とす影などは、ハイクオリティな画質が求められる現場では必須ですが、VRでは割愛した方が無難です。

一方、ベンチが道路に落とす影は省いてしまうと途端に不自然になります。

影を受ける側のオブジェクトも極力絞る

その物体が他の物体から影を受けるか否かの設定は、マテリアルのReceive Shadowsで設定します。この設定もデフォルトではオンになっていますが、描画速度に大きな影響を与えます。

地面や道路が影を受けることは必須ですが、それ以外のオブジェクトはこの設定を思い切ってオフにしてみても、言われなければ意外と気づかなかったりします。

Resource Checkerでシーン内のアセットを総点検

あとはひたすらProfilerやFrame Debuggerでボトルネックを洗い出していくのですが、そんな時に意外と役に立つ無料ツールをご紹介しておきます。

Resource Checker | ユーティリティ ツール | Unity Asset Store
Use the Resource Checker from HandCircus on your next project. Find this utility tool & more on the Unity Asset Store.

Resource Checkerを使うと、現在シーンで使われているテクスチャ、マテリアル、メッシュが一覧で表示され、それぞれのサイズが一目でわかるようになります。

画像
Resource Checker

自分で作ったシーンならいざ知らず、購入してきたアセットとなると、どこでどのようなテクスチャが使用されているのか全く見当もつきません。

このツールを使うと、テクスチャからシーン内のオブジェクトを逆引きできるようになるので、不要なテクスチャの洗い出しやサイズの見直しのための強力な指針となります。

1,000社以上の事業成長を支えた圧倒的な『スピードと柔軟性』で、御社のアイデアを最短で形にします。まずは無料で壁打ちしませんか?

ブログに戻る

関連記事

3DGSを理解する 第3回:3DGSと2DGSは何が違うのか? ―「2D」の意味を正しく理解する3D

3DGSを理解する 第3回:3DGSと2DGSは何が違うのか? ―「2D」の意味を正しく理解する

3DGSと2DGSは、どちらも3次元空間のシーンを表現するGaussian Splatting技術ですが、使うGaussianの形状と重視する点が異なります。本記事では、3次元Gaussianを使う3DGSと、平面状Gaussianで表面形状の整合性を高める2DGSの違いを整理し、2D画像を表現するGaussianImageとの違いも解説します。

Toshihiko Nagaoka
3DGSを理解する 第2回:3DGSはフォトグラメトリと何が違うのか?3D

3DGSを理解する 第2回:3DGSはフォトグラメトリと何が違うのか?

3DGSとフォトグラメトリは、どちらも複数の写真から3D空間を再構成する技術です。本記事では、SfMによるカメラ位置・姿勢推定やSparse Point Cloudまでの共通点と、その後にフォトグラメトリがMVS・Dense Point Cloud・メッシュ生成へ進み、3DGSがGaussianの初期化・最適化へ進む違いを整理して解説します。

Toshihiko Nagaoka
3DGSを理解する 第1回:3DGSは従来の3D制作と何が違うのか?3D

3DGSを理解する 第1回:3DGSは従来の3D制作と何が違うのか?

3DGSは、従来のメッシュとは異なり、大量のGaussianを空間に配置して現実の見た目を再現する3D表現技術です。本記事では、メッシュとの違い、写真から3D空間を生成する仕組み、不動産・建築・文化財・映像・XRへの活用例、そして3DGSが従来の3D制作を置き換えるのかまで、初心者向けに整理して解説します。

Toshihiko Nagaoka
ぼくはデューパー、なんでもきいてね!