友達に入ってもらった ら「ちょっと重い」と言われました。何を直せばいいのか分かりません。
ポリゴン数を減らそうと家具を消しても、あまり変わらないことがあります。重くなる原因には順番があって、効く場所から手を付けないと労力が無駄になります。
この記事では、同じ部屋で 鏡・影・LODを1つずつ調整して、Statsの数字が下がるのを見る ところまでを解説します。

この記事でわかること
- 重くなる原因の順番
- Statsで見るべき3つの数字
- 鏡・影・LODの現実的な調整
- 見た目を保ったまま軽くする考え方
照明と家具のある部屋から始めます。
重いものには順番がある
ワールドの描画に限ると、効く順番はだいたい決まっています。

| 順位 | 原因 | なぜ重いか |
|---|---|---|
| 1 | 鏡 | 見えているあいだ、部屋をもう一度描いている |
| 2 | リアルタイムの影 | ライトの数だけ、影用の描画が追加される |
| 3 | マテリアルの種類 | 家具ごとに別のマテリアルだと、描画をまとめられない |
| 4 | 半透明の重ね | ガラス、カーテン、パーティクルの重なり |
| 5 | ポリゴン数 | 高精細な家具を並べたとき |
意外に思われるのが、ポリゴン数が最下位 であることです。数字が大きいと目立つので原因に見えますが、上の4つのほうが効くことがほとんどです。
調整する順番も、この順で構いません。鏡 → 影 → マテリアル → 半透明 → 家具の作り直し。上から順に試して、効いたところで止めます。
Statsで見る3つの数字
調整の前後を比べるために、数字を見られるようにします。
Sceneビューの右 上、あるいはGameビューの右上にある Stats ボタンを押します。小さなパネルが出ます。

たくさん並んでいますが、初心者が見るのは3つで足ります。
| 項目 | 意味 | 目安 |
|---|---|---|
| Batches | 描画をまとめた回数。少ないほど良い | 増減を比べる |
| SetPass calls | 材質を切り替えた回数。少ないほど良い | 増減を比べる |
| Tris | 三角形の数。ポリゴン数のこと | 最後に見る |
大事なのは、絶対値ではなく増減を見る ことです。「Batchesが何個までなら大丈夫」という基準はありません。設定を変えたときに数字が下がれば、その調整は効いています。

比べるときは、同じ場所から同じ方向を見て 測ります。Sceneビューの視点が変わると数字も変わるので、Gameビューに固定するか、視点を動かさずに設定だけ切り替えます。
実践:鏡・影・LODを順に調整する
上から順に、1つずつ変えて数字を見ます。
1. 鏡を絞る
いちばん効きます。まずここからです。

鏡が重いのは、写真ではなく、裏側でもう一度ゲームを動かしている からです。プレイヤーが鏡を見ているあいだ、Unityは「本体の絵」と「鏡の中の絵」を別々に描きます。VRなら左右の目のぶんもあるので、負荷は想像より大きくなります。
やることは3つです。
- 既定でオフにする: 鏡のGameObjectを最初は無効にして、ボタンで切り替える で出せるようにします。これがいちばん効きます
- 映すレイヤーを絞る: VRC Mirror Reflectionの Reflect Layers から、Particle・UI・Pickupなど不要なものを外します。まず
PlayerとMirrorReflectionだけの「人だけ映る鏡」を試してください - 同時に1枚まで: 部屋に鏡を何枚も置いて出しっぱなしにしません
Statsを見ながら、「鏡をオフ」「人だけ映す」「部屋も映す」の3つを切り替えてみてください。数字がはっきり変わります。
Questやスマホにも出すワールドでは、鏡は置かないか、常にオフにしておくのが現実的です。
2. 影を減らす
次に効くのがリアルタイムの影です。

影を出すライトは、本編を描く前に「ライトから見た絵」を作ります。特に Point Lightの影は6方向ぶん 必要なので、室内の照明を全部リアルタイム影にすると、鏡に匹敵する重さになります。
室内ワールドでの定番はこうです。
- 常時点灯のライトは焼く: 天井やランプは Baked にします(照明とベイク)
- 動く物は Light Probe で: 小物やアバターの明るさはProbeで拾います(Light ProbeとReflection Probe)
- リアルタイムは1灯、影も1つまで: どうしても動く影が欲しいときだけ、窓からの Directional Light を1本残します
- 接地感は偽の影で: 家具の下に薄い暗い板を置くだけで、十分それらしく見えます
Point Lightの Shadow Type を No Shadows にして、Statsを見比べてみてください。見た目の差より、数字の差のほうが大きいはずです。
3. 同じ家具はまとめる
3番目がマテリアルの種類です。

家具を1個ずつ別のマテリアルで置くと、ポリゴンが少なくても Batches と SetPass calls が増えます。Unityが「材質を切り替える」たびにコストがかかるためです。
対策はシンプルです。
- 同じ見た目の物は、同じマテリアルを共有する(マテリアルとテクスチャ)
- 動かない物は Static にする: Inspectorの右上でStaticを有効にすると、Unityが描画をまとめられます
Staticにする対象は、ベイクのときと同じく床・壁・天井・家具です。動かす物には付けません。
4. 遠くの物を簡単な形にする(LOD)
LOD(Level of Detail) は、遠くにある物を簡単な形に差し替える仕組みです。

近くで見る植木は葉が細かく必要ですが、部屋の反対側から見えるだけなら、粗い形で十分です。人の目には違いが分かりません。
設定はこうです。
- 対象のオブジェクトに LOD Group を追加する
- LOD 0 に高精細なモデル、LOD 1 に簡単なモデルを割り当てる
- 切り替わる距離をスライダーで調整する

切り替わる基準は距離そのものではなく、画面に占める大きさ です。遠ざかって小さく見えるようになったら、簡単なほうに切り替わります。
ただし、小さな部屋ではLODの効果は限定的 です。もともと遠くの物が少ないからです。広い庭やホールを作るときに効いてきます。粗いモデルを別に用意する手間もあるので、優先度は鏡や影より下です。
5. 変えた結果を確かめる

最初に測った視点に戻して、Statsを比べます。数字が下がっていれば成功です。
その上で、見た目が許容できるか を必ず確認してください。軽くするために雰囲気を全部捨てては本末転倒です。「鏡はスイッチで出す」「影は焼く」あたりまでで、たいていのワールドは十分に軽くなります。
最後に実際のVRChatで確認します。Unityのエディタと実機では負荷が違います。
うまくいかないときは
- 数字が変わらない → 同じ視点で比べていない可能性があります。Gameビューに固定して測ります
- 鏡をオフにしても重い → 影かマテリアルが原因です。次の項目へ進みます
- Batchesが減らない → 同じ見た目なのに別々のマテリアルを使っていないか、Staticが付いているかを確認します
- LODが切り替わらない → 切り替えの距離設定を確認します。カメラから十分離れないと切り替わりません
おまけ:先に知っておくと良いこと
- 半透明は重なるほど重い: ガラス、カーテン、パーティクルが視界で重なると、同じ画素を何度も塗り直します。透ける物を並べすぎないようにします
- テクスチャは表示される大きさに合わせる: 遠くの小物に2048のテクスチャは要りません。Import設定のMax Sizeを下げるだけで、容量とメモリが減ります

- Occlusion Cullingという手もある: 壁の裏に隠れた物を描画から外す仕組みです。効果は大きいのですが、設定と焼き込みの手間がかかります。部屋がいくつもある大きなワールドで検討してください

- Post Processingは負荷が大きい: 画面全体に効果をかける仕組みで、見栄えは上がりますが重くなります。特にQuestでは避けます
- Questとスマホは別の予算: PCで快適でも、そのままでは入れません。PCとAndroidで同じ部屋に集まる で扱います
まとめ
軽くする作業には順番があります。
- 鏡がいちばん重い。既定でオフ、映すレイヤーを絞る
- 次にリアルタイムの影。常時点灯は焼いて、動く物はProbeで
- マテリアルをそろえて、動かない物はStaticにする
- ポリゴン数を見るのは、この3つを整理した後
手を付ける前の問いかけは、「いま見えている画面に、鏡は映っているか?」 です。映っているなら、そこが最初の調整箇所です。
描画が落ち着いたら、物理を軽くする で動く小物を見直すか、Udonと通信の最適化 でスクリプト側を確かめます。