VRChatで自作ワールドを作っていたのですが、
容量が大きすぎ&FPSが壊滅的という状態になっていました。
最終的に、
- ワールド容量:140MB → 49MB
-
FPS
- PC:8 → 43
- スマホ:3 → 15
まで改善できたので、やったことをまとめます。
初期状態
容量
- テクスチャ(圧縮前):約650MB
※Unityログから確認 - ワールドにパック後:141MB
FPS
- PC:8 FPS
- スマホ:3 FPS
正直、操作不能レベルでした。
容量削減のためにやったこと
1. ライトベイクのサイズを下げる
ライトベイクの解像度が高すぎたのが原因の一つでした。
- Lightmap Resolution / Size を全体的に縮小
- 見た目に大きな影響が出ない範囲で妥協
👉 Lightmapは「気づかれない範囲で下げる」が正解
2. プラットフォーム毎の Texture 2D サイズを調整
これが一番効きました。
- PC / Android それぞれで
Max Size を個別に縮小 - 無駄に 2K / 4K になっているテクスチャを整理
特に:
- 小物
- 遠景
- UI用途でないもの
はかなり小さくしても問題ありませんでした。
3. フォントの統合と削除
意外と見落としがち。
- 使っていないフォントを削除
- 似た用途のフォントを1つに統合
フォントは容量が大きくなりやすいので要注意です。
FPS向上のためにやったこと
1. 圧縮ツールでメッシュ削減
- メッシュ圧縮ツールを使用
- 見た目が破綻しない範囲でポリゴン削減
特に:
- 装飾オブジェクト
- 遠景用オブジェクト
は大胆に削減しました。
2. 離れた場所のオブジェクトをローカルで非表示
- プレイヤーから遠い位置にあるオブジェクトを
- ローカル判定で非表示
- 常時描画しない構成に変更
👉 **「見えないものは描画しない」**は最強です。
3. Realtime Light を Baked に変更
- Realtime Light 以外はすべて Baked Light に変更
- 動的に動かないライトは Realtime にする必要なし
これだけでGPU負荷がかなり下がりました。
結果
容量
- 141MB → 49MB
FPS
| 環境 | 改善前 | 改善後 |
|---|---|---|
| PC | 8 FPS | 43 FPS |
| スマホ | 3 FPS | 15 FPS |
感想
- VRChatワールドは
「テクスチャ」と「ライト」が9割 - 見た目をほとんど変えずに
容量・FPSは大幅改善できる - 特に Android(Quest/スマホ)対応を考えるなら必須
同じように重いワールドで悩んでいる人の参考になれば嬉しいです。
実際のワールド
記事投稿時点後も随時更新しているのでサイズやFPSが違うかも知れませんが、今回の記事のワールドです。
https://vrchat.com/home/launch?worldId=wrld_8f485c78-8f12-4897-aa72-ba4cdc0642f3
おわりに
「ここが重かった」「これは効果なかった」などあれば
ぜひコメントで教えてください 🙏