[Unity] VR空間の公園を散歩するデモ開発
![[Unity] VR空間の公園を散歩するデモ開発](https://storage.vitalify.asia/public/content/images/2026/03/rectangle_large_type_2_3129aaefeaeba1c3dc6ccd23e2c83c8d.webp)
アセットストアで購入した公園のアセットを使用して、VR空間の公園を散歩するデモを作りました。
今回使用したアセットはこちらです

このアセットを購入したすぐの状態では、シーンは激重で、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を使うと、現在シーンで使われているテクスチャ、マテリアル、メッシュが一覧で表示され、それぞれのサイズが一目でわかるようになります。

自分で作ったシーンならいざ知らず、購入してきたアセットとなると、どこでどのようなテクスチャが使用されているのか全く見当もつきません。
このツールを使うと、テクスチャからシーン内のオブジェクトを逆引きできるようになるので、不要なテクスチャの洗い出しやサイズの見直しのための強力な指針となります。
「XR & 3D Web」の関連記事

次世代の製品カタログ:URDFが変える「動く」Web展示の可能性
ロボット設計図「URDF」をWebブラウザで滑らかに動かす技術ショーケースを公開。CADデータから「触れる製品カタログ」への転換が、製造業のプロモーションをどう変えるのか。ゲーム開発の知見を用いたリアルな可動表現の可能性を解説します。

Gaussian Splattingとは何か - 3Dメッシュやフォトグラメトリとの違いを解説
話題の「3D Gaussian Splatting」とは何か?フォトグラメトリやNeRFとの違いといった基礎から、実用化における最大の弱点「光源の焼き付き」を回避するプロのハック術まで徹底解説します。

建設DXへの挑戦:自社オフィスを「デジタルツイン」化するIFCビューアを開発しました
BIMデータを活用した建設DXの第一歩!自社オフィスを3Dモデリングし、Webブラウザで軽快に動作する高機能「IFCビューア」を独自開発しました。なぜGLBではなくIFCなのか?デジタルツイン構築がもたらすビジネス価値とシステム開発のポイントを解説します。


