Skip to content

指トラッキング無効化オプションの追加要望+TrackingControl統合がControllerアセットを破壊的に書き換える件 #53

Description

@UnisakiStudio

要望(サポート問い合わせより)

Indexコントローラー使用時、ジェスチャー無効にしても指のトラッキングは残る(VRChat仕様上fingersは別項目のため)。過去バージョンではツールのController内のVRC Animator Tracking Controlを手編集してfingers=Animationにできたが、3.0.5では編集が効かない。指トラッキング無効化機能の追加を要望。

「編集が無効になる」機構(静的調査で特定)

  1. 編集対象がビルドに使われない: 3.0系はプレビルド時にパッケージ同梱Controllerを GeneratedResources/<アバター名>.controller へディープコピーし、以後はクローンを参照する。パッケージ側の手編集は反映されない(v2系はクローン機能がなく直接編集が効いていた)
  2. トラッキング統合が上書きする: mergeTrackingControl は既定ONで、ビルド時に ReplaceTrackingControlToParameterDriver(PosingSystemConverter.cs:3172-3237)が全VRCAnimatorTrackingControlのEye/Mouth以外をNoChangeに書き換えて集中管理レイヤーに置換する。この書き換えは参照中のControllerアセットを直接変更する(NDMFのアセットクローンを介さない)ため、ユーザー資産に恒久的変更が残り得る品質課題でもある

提案

  • 機能要望: 集中管理側(MergeTrackingControl)は既に trackingLeftFingers/trackingRightFingers をサポートしている(3096-3097行)ため、「ジェスチャー無効時にfingersもAnimation化する」オプションは小規模で実装可能
  • 品質改善: TrackingControlの書き換えを元アセットではなくビルド時コピーに対して行う

当面の回避策(サポートで案内中)

インスペクターの「トラッキング機能をビルド時に統合する」をオフにすれば手編集のTrackingControlが従来どおり機能する。編集はパッケージ内ではなくGeneratedResourcesの生成Controller側に行う。


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions