次の項目は別ページに分割しました。
関連ページ:
Tips
ドキュメント:
World Creation, Optimization, and Community Labs Tips | VRChat [Official]
リンク:
VR 空間での作品展示/タイリングと Shader で容量を節約 – Qiita
手軽に始める VRChat ワールド改変 Tips 集 | kisihara.c
Blender を使わなくても作れる!意識の高くないワールド製作 | 雑文録
World 紹介の詳細版 | BlackIceCoffeePhenomenon
ワールド管理の仕組みと用語 | Programming in VRChat
Optimizing VRChat Worlds: Collision Debugging | Polygonal Mind
制作記/メイキング
参考:
「霞灯篭」のメイキングについて解説するよ! | elfchan
作成した World 解説 Hotaru no Mori 編 | kisara_gi’s blog
まとめ
madjin/awesome-vrchat: One-stop Shop for People Interested in Developing Content for VRchat – GitHub
FPS を確認する
参考:
リフレクション
参考:
反射を制して綺麗なワールドを!クオリティを上げる Reflection Probe とは? | wata23
計算誤差対策/原点移動
参考:
Rigidbody の Position が大きくなると float 型特有の誤差に左右されるのをなんとかしたい | 日々気まぐれログ
広大なワールドと画面のちらつき/ワールドになされた対策について | Another World
オブジェクトを不可視にする
参考:
VRChat で「見えない」を実装する | がとーしょこらの技術録
ミラーを設置する
動画:
ドキュメント:
VRC_MirrorReflection | VRChat [Official]
VRC_MirrorCamera | VRChat [Official]
参考:
VRC_MirrorReflection | VRChat 技術メモ帳
ペデスタルを設置する
ドキュメント:
VRC_AvatarPedestal | VRChat [Official]
ポータルを設置する
ドキュメント:
VRC_PortalMarker | VRChat [Official]
UI を作成する
ドキュメント:
VRC_UiShape | VRChat [Official]
カメラを設置する
参考:
デスクトップモードで配信するためにカメラ視点を表示する – Qiita
ワールドにカメラを置き、撮す映像を写す面を作る | Programming in VRChat
音源を再生する
ドキュメント:
VRC_SpatialAudioSource | VRChat [Official]
参考:
AudioSource と VRC_SpatialAudioSource の関係おぼえがき | daifuku
アニメーション
参考:
ミラーギミック
参考:
鏡に映る3Dモデルを差し替える | Raspberly のブログ
窓ギミック
参考:
レイヤー機能を使ったカメラに映らないオブジェクトをやってみた | ケーキの PC 情報集会所
自動車を走らせる
参考:
バイクを走らせる
参考:
テレイン (Terrain)
動画:
Build a World Start to Finish Using Terrain
参考:
テレインで地形や木を配置して、家の庭に温泉まで掘れたゾ | 神部まゆみのブログ
ワールドで地形を作成したかったのでテレインを使ってみました | もふもふ技術部
水面を作成する
動画:
How to Add Water to Your World
参考:
水面で使う Shader の負荷を比較してみた | Kluele_VRC
Silent’s Clear Water Shader – VRCat
Where can get the water shader – VRCat
湯気を表現する
参考:
スタンダードアセットの Steam でお風呂の湯気をいい感じにできたメモ | 神部まゆみのブログ
キーボード入力/テキスト入力
参考:
Keyboard | Programming in VRChat
VR 空間におけるテキスト入力のための UI / UX 考察 | がとーしょこらの技術録
ChatGPT
参考:
スポーンオブジェクトをまとめて消去する
参考:
パフォーマンス
容量
ワールドの容量を確認するには、ワールドをビルドしてエディターログを確認する。または、ワールドのロード画面で確認する。
- メニューから「VRChat SDK > Show Control Panel」を選択し、「VRChat SDK」ウィンドウを開く。
- 「Authentication」タブでログインし、「Builder」タブの「Local Testting」パネルから「Build & Test」ボタンを押してワールドをビルドする。「Number of Clients」を
0
に設定すると、クライアントを起動せずにビルドのみを実行することができる。 - テキストエディタで
C:\Users\[User Name]\AppData\Local\Unity\Editor\Editor.log
を開き、Bundle Name: scene-standalonewindows64-world.vrcw
と出力された行を探す。 - 内訳を確認し、何を削減するべきか検討を付ける。
Bundle Name: scene-standalonewindows64-world.vrcw Compressed Size: 123.4 mb
対策
- テクスチャ
- 「Max Size」を適切な値に設定する。なるべく
1024
以下に設定する。マスクやグラデーション用テクスチャは特に小さくできる。影響が気にならない場合は、法線マップを小さめにする。 - 「Compression」は基本的に「Normal Quality」にしておけばよい。
- 「Use Crunch Compression」を有効にし、「Compressor Quality」を
50
~100
に設定する。値が大きいほど高品質だが容量が大きくなる。 - アルファ値を使用していないテクスチャは「Alpha Source」を
None
に設定する。 - 「Read / Write Enabled」を無効にする。(特殊なシェーダーあるいは特殊な処理を適用していない場合において基本的に不要である。)
- 「Max Size」を適切な値に設定する。なるべく
- FBX
- 「Mesh Compression」を
Low
以上に設定する。 - メッシュを統合する。
- スキンメッシュを通常のメッシュに変換する。
- 不要な Blend Shape を取り除く。
- 不要な Blend Shape Normal を取り除く。
- 「Mesh Compression」を
- Dynamic Materials
- 静的オブジェクト
- オクルージョンカリング
- LOD
- 物理演算
- シェーダー
- ライト
- ライトマップ
- ライトプローブ
- リフレクションプローブ
- ミラー
- ペデスタル
- オーディオ
- 「Compression Format」を
Vorbis
に設定する。 - 大きなファイルは「Quality」を多少下げる。
- 「Compression Format」を
ツール
動画:
ドキュメント:
テクスチャのインポート設定 | Unity 2019.4 マニュアル [公式]
参考:
ワールドの容量削減を実際にやってみたら3分の1くらいになった話 – Qiita
ワールド軽量化のための LOD について | Kluele_VRC
アバター/ワールドの最適化 | VRchat 日本 Wiki
容量削減ノウハウ | バーチャルマーケット 2022 Summer
オクルージョンカリング
参考: