操作
タスク #498
完了VRC LightVolumesを動くPickupオブジェクトに適用
タスク #498:
VRC LightVolumesを動くPickupオブジェクトに適用
説明
導入済みの red.sim.lightvolumes (VRC Light Volumes) を、動くオブジェクト(マグカップ・ブランケット・猫など)に適用し、通常のLight Probeより高解像度なGIを与える。
前提¶
本チケットは #497(動くPickupオブジェクト本体の実装)にブロックされる。実体の無い状態でLightVolumeを設定するとサイズ・配置が当て推量になり、実体完成後に作り直す二度手間が発生するため。
やること¶
- LightVolumeManager(UScripts)の配置
- #497で実体化されたPickupオブジェクトのレンダラーにLightVolumeInstance/PointLightVolumeInstanceを追加
- ボリュームのサイズ・解像度を実オブジェクトの大きさに合わせて調整
見た目の最終確認はUnity Editor / VRChat実機でのユーザー確認が必要。
エージェント ちゃん さんが5日前に更新
- ブロック元 機能 #497: 動くPickupオブジェクト本体の実装(Mug/Blanket/Cat) を追加
エージェント ちゃん さんが4日前に更新
- ステータス を 未着手 から 実装中 に変更
- 進捗率 を 0 から 10 に変更
制作に着手しました。
- ブランチ:
feature/498 - 対応方針: チケット記載の
GIM_Pickup_Mug1/2/GIM_Pickup_Blanket/GIM_Pet_Catは現シーンに存在せず、#497の合意により実際のPickup対象はPickups配下のオブジェクト群であるため、そのうち見た目のインパクトが大きい代表アイテム(imagePad / OukaMikoNuigurumi / サカバンバスピス / JuiceGlass / Nomumikan / OfukuroSmoothie / DoyaUsa_Pink の7点)に絞ってLightVolume(VRC Light Volumes 動的ボリューム)を追加する。ペン/消しゴム/okaki個別アイテムなどの小物は対象外とし、パフォーマンス予算内に収める。PointLightVolume(点光源)は対象アイテムがいずれも発光しないため今回は追加しない。既存のLighting/LightVolumeManagerにLightVolumeSetup(編集時のベイク設定)を追加し、各アイテム配下にボリュームBoxを作成する。実際のGIベイク実行はUnity Editor上でユーザーに依頼する。
今後Pickupオブジェクトが追加された場合の作業手順もドキュメント化する。
エージェント ちゃん さんが4日前に更新
- ステータス を 実装中 から 完了 に変更
- 進捗率 を 10 から 100 に変更
対応が完了しました。
概要¶
red.sim.lightvolumes(VRC Light Volumes)を、#497で実体化された Pickups 配下の代表的な動くPickupアイテム7点に適用し、通常のLight Probeより高解像度なGIを与えた。あわせて今後Pickupオブジェクトが追加された場合の作業手順をドキュメント化した。
変更点¶
- 既存の
Lighting/LightVolumeManagerにLightVolumeSetup(Bakeryベイクモード)を追加。 -
Pickups/imagePad/Pickups/OukaMikoNuigurumi/Pickups/サカバンバスピス/Pickups/JuiceGlass/Pickups/Nomumikan/Pickups/OfukuroSmoothie/Pickups/DoyaUsa_Pinkの7アイテムに、各アイテムのルートColliderサイズに合わせた動的LightVolume(Dynamic=true)を子オブジェクトとして追加。SetupDependencies()によりLightVolumeInstanceと Bakery側のBakeryVolumeが自動生成される。 - ペン15本・消しゴム3個・okaki個別11個などの小物は対象外(
LightVolumeManagerの32ボリューム上限とパフォーマンス予算を考慮)。 - 対象アイテムはいずれも発光しないため
PointLightVolumeInstanceは追加していない。 - 副次的な修正:
LightVolumeSetup追加により顕在化したLTCGI側LV_LTCGI_AdapterのNullReferenceException(AtlasPostProcessors未初期化)を空配列で初期化して解消。 -
docs/light-volumes.mdを新規作成し、今後Pickupが追加された場合のLight Volume適用手順(対象選定基準・サイズ算出方法・MCP経由での自動化時の注意点)をドキュメント化。CLAUDE.md/docs/workflow.mdからリンク。
確認¶
- シーン差分をオブジェクト名単位・MonoBehaviour数単位で比較し、追加した14個のGameObject(
LightVolume×7、Bakery Volume - LightVolume×7)以外に意図しない変更がないことを確認済み。Unity Editorのコンソールにエラー・警告が無いことを確認済み。.metaファイルの変更なし。 - 要ユーザー確認: Unity Editor上でのBakery実ベイク実行(
LightVolumeManager.LightVolumeAtlasは現状未設定のため、ベイクするまでLight Volumesは効果を持たない)。ベイク後、各アイテムを持ち歩いた際のGI変化とボリュームサイズ感の目視確認。
関連 MR¶
- !3 (feature/498 → main)
操作