ドライバー
ドライバとは、このスマートコントロールをどのようなメカニズムで駆動させたいかを意味です。
🚧 説明書のこの部分はまだ未完成です。
アニメーターパラメーター
このSmartControlを制御するために、カスタムアニメーターパラメーターを使用できる汎用ドライバーです。
アニメーターパラメーター名が空のままだと、ビルド時に自動生成されます。
メニューアイテム
このドライバは、同じGameObject内の既存の DT Menu Item
コンポーネントを追加または置き換えます。
メニューアイテムは、1つのパラメータでSmartControlを直接制御します。
アニメーターパラメーター名が空のままだと、ビルド時に自動生成されます。
現在、以下をサポートしている:
Button | Toggle | Radial | Two-axis | Four-axis | Sub-menu | |
---|---|---|---|---|---|---|
Binary | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
Motion Time | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
✅: 対応, ❌: 非対応
パラメータスロット
2.5.0 以降
同じパラメータスロットを使用するSmartControlは、それぞれ特定の値が割り当てられ、1つの int
または float
アニメーターパラメータで制御されます。
パラメータ値が一致するSmartControlだけが有効になります。
この仕組みはUnity animatorのAny Stateに似ていますが、内部的には使われていません。
詳しくは パラメータスロット のドキュメントをお読みください。
VRCPhysBone
2.4.0 以降
このドライバは、SmartControlをVRC PhysBoneコンポーネントで制御できるようにします。 他のプレイヤーと相互作用するコントロールを簡単に作成できます。
アニメーターパラメータープレフィックスが空のままだと、ビルド時に自動生成されます。
PhysBoneの機能の詳細については、公式VRChatドキュメント を参照してください。
少なくとも1つの要件または1つのソースを選択する必要があります。そうでない場合、SmartControlは無視され、生成されません。
異なる要件とソースの組み合わせに対して、異なるコントロールタイプのアニメーションを生成します:
なし | 掴んでいる時 | ポーズしている時 | 掴んでいるかポーズしている時 | |
---|---|---|---|---|
なし | ❌ | Binary | Binary | Binary |
角度 | Motion Time | Motion Time | Motion Time | Motion Time |
伸び | Motion Time | Motion Time | Motion Time | Motion Time |
へこみ | Motion Time | Motion Time | Motion Time | Motion Time |
❌: 無視されて生成されません
例えば、アホ毛をつかんだりポーズをとったりせずに、つぶされたときに常にコントロールに影響を与えるようにしたい場合、要件をなしに、ソースをへこみに設定します。
掴んだりポーズをとったりしたときだけ伸びの影響を受けたい場合は、要件 を 掴んでいるかポーズしている時 に、ソース を 伸び に設定します。