操作
機能 #509
完了チルワールドに座席(VRC_Station)を実装
機能 #509:
チルワールドに座席(VRC_Station)を実装
説明
背景¶
Unity MCP でのワールド調査(2026-07-03)の結果、シーン全体で VRCStation が 0 件。チルワールドなのに座れる場所がない。
static_obj/chill_world/ 配下に設計時の空マーカーが残っている:
-
GIM_Seat_*×13(ソファ3・スツール2・ベンチ2・ダイニング2・バルコニー2・プーフ1 ほか) -
GIM_Lie_*×3(ベッド2・ソファ1)
やること¶
- GIM マーカー位置を基準に VRC_Station(着座/寝転び)を配置する。ソファ・スツール・ベンチ・バルコニーチェアを優先
- 着座位置・向きは実家具(
static_obj/Living/Dinning/Balconyの家具)に合わせて調整 - 実装済み・不要になった GIM_* マーカーは削除してシーンを整理
確認¶
- Play モード + ClientSim で Interact → 着座位置を確認
- 最終確認はユーザーが VRChat 実機で行う
エージェント ちゃん さんが3日前に更新
- ステータス を 未着手 から 実装中 に変更
- 進捗率 を 0 から 10 に変更
制作に着手しました。
- ブランチ:
feature/509 - 対応方針: VRC SDK サンプル VRCChair3 の構成(VRCStation + トリガー BoxCollider + StationGraph Udon)を流用し、実家具(ソファー L ×3席・ソファー 1・ダイニングチェア ×4・キッチンスツール ×2 = 計10席)の位置に Unity MCP でメッシュなし座席を配置する。Bench / Pouf / バルコニーのマーカーは実家具が非アクティブ or 存在しないため今回対象外。実装済みギミックに対応する GIM_* マーカーは削除する。
エージェント ちゃん さんが3日前に更新
進捗 : 座席 10 席の実装とマーカー整理をコミットしました(da46d9d)¶
-
Gimmick/Seats配下に SDK サンプル VRCChair3 構成(VRCStation + トリガー BoxCollider + StationGraph Udon、Interact 文言「座る」)で 10 席を配置- ソファー L ×3(+z 向き)/ 1人掛けソファー ×1(-x 向き)/ ダイニングチェア ×4(テーブル向き)/ キッチンスツール ×2(カウンター向き)
- 位置・向きは GIM マーカーではなく実家具の測定値に合わせた(マーカーの向き・位置は実家具とズレていたため)
- Bench / Pouf / バルコニーは実家具が非アクティブ(Blender シェル由来)or 存在しないため対象外。マーカーは将来用に残置
- 実装済みの GIM マーカー 18 件を削除(Spawn / Mirror / Video / View / LightControl / Lie_Bed / 実装した Seat 系)。残 10 件は未実装ギミック用
- シーン保存で全 PrefabInstance が新シリアライズ形式に更新されたため差分は大きいが、実変更は上記のみ(自己レビュー PASS)
確認したいこと:
- ClientSim または実機で各席の Interact →着座位置・向き(特にスツールがカウンター向きか、降車位置が家具に埋まらないか)
- 問題なければ MR 作成の許可をください(
/mr 509)
エージェント ちゃん さんが3日前に更新
進捗 : 座席を FukuroUdon Swivel Chair 2 に置き換えました(debfbb0)¶
ユーザー指示により、素の VRCStation → Swivel Chair 2 ギミックに変更。
-
Packages > Fukuro Udon > Runtime > SwivelChair2 > Prefabs > SwivelChair2.prefab(メッシュなし版)をプレファブリンクを保ったまま 10 席配置 - Wiki の手順どおり本体ルートは床面、SeatPoint を各実家具の実測座面 +8cm に設定:
- ソファー L ×3: 0.39 / 1人掛け: 0.37 / ダイニング ×4: 0.53 / スツール ×2: 0.75
- 初回着座から正しい高さになるよう EnterPoint(初期オフセット)も同じ高さに設定し、調整クランプ範囲 adjustMin/MaxLimit を各座面高さ ±0.5m に再設定
-
autoAdjustWhenSittingを有効化(アバター変更時に Hips を SeatPoint へ自動調整)、Interact 文言「座る」 - ExitPoint は前回検証済みの家具外の床位置へ移動
- vpm-manifest / packages-lock に com.mimylab.fukuroudon 3.19.4(+ tmp-fallback-fonts-jp)をコミット(VCC での追加分)
確認したいこと:
- ClientSim/実機で着座 → 高さ・向き・ジャンプ長押し降車・スティック/W・Sキーでの高さ調整・スイベル回転
- 座位置保存(AdjustmentSync)は今回未導入。必要なら追加します
エージェント ちゃん さんが3日前に更新
進捗 : AdjustmentSync 導入と椅子の ON/OFF スイッチを追加(477c53c)¶
- 全 10 席に
AdjustmentSync.prefab(VRCPlayerObject + VRCEnablePersistence)を子として追加。座位置調整がプレイヤーごとにインスタンスをまたいで保存されます- 同じ座面高さの席は Link で連動: ソファー×3 = Link 1 / ダイニング×4 = Link 2 / スツール×2 = Link 3 / 1人掛けは単独
- QuickBrown LuraSwitch2 の
Switch_ChairをSwitch_SwivelChairsとしてリビング壁(既存 Chair Collider スイッチの隣、(-6.05, 1.12, -3.56))に設置- syncMode = Global(全員同期)/ Toggle / デフォルト OFF / target =
Gimmick/Seats -
Gimmick/Seatsはシーン上も非アクティブで開始
- syncMode = Global(全員同期)/ Toggle / デフォルト OFF / target =
確認したいこと:
- スイッチ ON → 全席出現 / OFF → 消える(着座中に OFF にされた場合の挙動も確認推奨)
- 座位置調整 → 一度降りて再着座 / 再ジョインで復元されるか(Persistence)
- ※ デフォルト OFF のため、ジョイン時に Seats が非アクティブな状態での PlayerObject 生成(AdjustmentSync)が正しく動くかは実機確認が必要です
エージェント ちゃん さんが3日前に更新
進捗 : AdjustmentSync を常時アクティブ化(a120920)¶
ユーザー指摘のとおり、PlayerObject が非アクティブ階層下にあるリスクを回避:
-
Gimmick/Seatsと各椅子ルート(SwivelChair2 + AdjustmentSync)は常時アクティブに変更 - デフォルト OFF は各椅子の
Seat子オブジェクト(コライダー + VRCStation + SeatAdjuster)単位で実現し、スイッチの target を 10 個の Seat に変更 - 参照チェーンは安全: SwivelChair2 は
DefaultExecutionOrder(-100)+GetComponentInChildren(true)なので Seat が非アクティブでも SeatAdjuster を解決できることをソースで確認済み
確認事項は前回コメントと同じ(スイッチ ON/OFF・座位置保存の復元)。PlayerObject の懸念は解消されたはずです
エージェント ちゃん さんが3日前に更新
- ステータス を 実装中 から 完了 に変更
- 進捗率 を 10 から 100 に変更
対応が完了しました。
概要¶
チルワールドに座れる場所がなかった(VRCStation 0 件)ため、FukuroUdon Swivel Chair 2 ベースの座席 10 席を実装。座位置の Persistence 保存(AdjustmentSync)と、椅子全体を ON/OFF する全体同期スイッチ(デフォルト OFF)も追加した。
変更点¶
-
Gimmick/Seats配下に SwivelChair2 プレファブインスタンス ×10(ソファー L ×3 / 1人掛け ×1 / ダイニングチェア ×4 / キッチンスツール ×2)を各実家具の実測座面に合わせて配置 - 各椅子に
AdjustmentSync.prefab(VRCPlayerObject + VRCEnablePersistence)を常時アクティブで追加。同座面高さの席を Link 連動 - QuickBrown LuraSwitch2
Switch_ChairをSwitch_SwivelChairsとしてリビング壁に設置。Global 同期 / Toggle / デフォルト OFF、各椅子のSeat子オブジェクトをトグル - 実装済みの GIM_* 設計マーカー 18 件を削除(未実装分は残置)
-
com.mimylab.fukuroudon3.19.4 を vpm-manifest に追加
確認¶
- プレファブ GUID / fileID 参照整合、スイッチ実効値、SwivelChair2 の参照解決ロジックをソースで確認済み
- ユーザーによる実機確認・MR 承認済み
関連 MR¶
- !10 (feature/509 → main)
操作