// VRChat avatar gimmick] AvatarPoseSystem
Description
# AvatarPoseSystem
アバターのポーズを固定して動かせるアバターギミック
身体と揺れ物(PhysBone)をそれぞれ固定可能です、身体は固定後ポーズの調整が可能です
固定したアバターをカメラで撮影できます。VirtualLens2やVRCLens出の撮影も可能です
### メニュー
- AllowGrab ...掴みの有効/無効を切り替えます。
- ShowHandle ...ハンドルの表示/非表示を切り替えます。
- On/Off ...固定/解除を切り替えます。
- Timer5s ...5秒後に固定するタイマーを起動します。
- Timer15s ...15秒後に固定するタイマーを起動します。
- HideBody ...身体固定時に表示する仮の身体の表示/非表示を切り替えます。
- Ex
- AllowGrab ...掴みの有効/無効を切り替えます。
- ShowHandle ...ハンドルの表示/非表示を切り替えます。
- FixBody On/Off ...身体のみ固定/解除を切り替えます。
- FixBody Timer5s ...5秒後に身体のみ固定するタイマーを起動します。
- FixBody Timer15s ...15秒後に身体のみ固定するタイマーを起動します。
- FixPB On/Off ...PhysBoneのみ固定/解除を切り替えます。
- FixPB Timer5s ...5秒後にPhysBoneのみ固定するタイマーを起動します。
- FixPB Timer15s ...15秒後にPhysBoneのみ固定するタイマーを起動します。
### メニュー以外の操作
- 身体を固定中に身体の各部位を持つと位置や角度を調整できます。調整した位置で固定する時はPhysBoneの固定の要領で可能です。
※持てる部分はハンドルを表示すると見ることができます。
- 身体を固定中で掴みが有効になっている場合に、身体の近くで手をFistにすると身体を持って動かすことができます。手を離すと身体はその場所に固定されます。
- 身体を固定中に、手のそばにある赤いハンドルを引っ張ると手のサイズを大きくできます。ハンドルを持ちやすくするためにご使用ください。
- 身体を固定中に、背中付近にある赤いハンドルを引っ張ると身体の位置を移動できます。
## 準備事項
下記のものをあらかじめ適用してください
1. Modular Avatar
https://modular-avatar.nadena.dev/ja/
2. lilToon
https://lilxyzw.booth.pm/items/3087170
3. 円形ゲージシェーダー
https://booth.pm/ja/items/4451674
※こちらUnityPackageの中身を全部インポートしてしまうとエラーが出てしまうため、Shaderのみインポートしてください。
## 導入方法
1. アバターに、AvatarPoseSystem prefabを配置します。
2. 必要に応じて、AvatarPoseSystemコンポーネントに設定を行います。
①固定したくないPhysBone/VRCHeadChopがある場合は、対象を 「Unfix Phys Bones」「Unfix Phys Bones With Children」に設定してください。
②固定したくないオブジェクトがある場合は、対象を 「Unfix Objects」に設定してください。
③固定したくないオブジェクト(ビルド時に追加されるオブジェクト)がある場合は、対象をのパスを 「「Unfix Object Paths」に設定してください。
※VirtualLens2やVRCLensを使用して写真を撮りたい場合はこちらに設定が必要です。詳細は後述します。
※VirtualLens2やVRCLensを使用して写真を撮りたい場合はこちらに設定が必要です。詳細は後述します。
### 導入補足
- VirtualLens2を使用したい場合
「Unfix Objects」に"VirtualLens2" オブジェクトを設定してください。
「Unfix Object Paths」に"_VirtualLens_Root"を設定してください。
また、VirtualLens2側の設定で、Marker Objectで「Auto」になっている物がある場合は「Auto」を押してオブジェクトの生成を行ってください。(これを行わない場合、ドローン等の操作ができなくなります)
- VRCLensを使用したい場合
「Unfix Objects」に"VRCLens"、"PickupA"、"PickupB"、"PickupC" オブジェクトを設定してください。
※"PickupA"、"PickupB"、"PickupC"はVRCLensによりアバターの頭と両手ボーンの下に作成されています。
### 導入補足2
- キメラアバターの場合
キメラアバター(アバターの頭部に別のアバターなどの頭部を付けたもの)にAvatarPoseSystemを適用する場合は、身体の方の元々の目のボーンと同じ階層、同じ名前ですげ変えた頭の目のボーンがある状態に調整ください。
## 注意事項
- 本ギミックではPhysBoneの固定を行いますが、本ギミック以外で制御が行われているPhysBoneはうまく制御できないことがあります。
※例えば、マヌカの尻尾はAFKアニメーション内に制御が行われているため固定時にまっすぐになってしまいます。これを回避するにはAFKアニメーションから尻尾の制御を削除する必要があります。
- 本ギミックはアバターの構造に影響を与えるため、他のギミックなどに影響を与える可能性があります。そのため同時に入れた他のギミックがうまく動かないなどの状況が発生する可能性があります。
※「Unfix Phys Bones」「Unfix Phys Bones With Children」「Unfix Objects」をうまく設定していただくことで回避できる場合がありますが、できないこともあります。
- 本ギミックは本ギミック以外の身体の部位を掴んだり動かすようなギミックとは併用できません
## よくあるご質問への回答
- Q:ハンドルがつかめない
- A:ハンドルはPhysBoneになっております。VRChatの設定でAvatar Interactionsの設定値をご確認いただき、PhysBoneが触れる状態になっているかご確認下さい。
- Q:舌が口から出てきてしまうようになった
- A:本ギミックではPhysBoneの固定を行いますが、アバターの舌など別途制御を行っているものと干渉すると意図しない動作となる事があります。その場合は「Unfix Phys Bones」に該当のPhysboneを設定していただくことにより改善できるかと思っております。
- Q:髪や顔の一部などの表示がおかしくなる
- A:FBXのRig設定が原因になっていることがあるようです。RigタブのConfigure...よりマッピングを確認してみてください。
## 特記事項
- 今後VRChat及びVRCSDKなどのバージョンアップにより動作に問題が発生することがあります
- 本アイテムはPCVRモードでの使用を想定しております。
- 本アイテムはVRChat SDK - Avatars 3.6.1 以上をを想定しております。
## ライセンス
本アセットはVN3ライセンスで提供されます。許諾事項は商品画像および商品に含まれているPDFファイルでご確認をお願いいたします
## SPECIAL THANKS
〇 アイデア提供、テスト
- sao* ( https://x.com/sao_0u0 )
## 更新履歴
- v1.0.0 リリース
- v1.0.1 以下の問題を修正
- アバタールートなどでScaleが変更されている場合にうまく適用されない問題を修正
- アバターにAudioSourceなどが含まれる場合にエラーが出てしまうことがある問題を修正
- 1つのオブジェクトに複数のPhysBoneが入っている場合に固定ができない問題を修正
- アバターのボーン構造によってはエラーとなってしまう問題を修正
- v1.0.2 以下の問題を修正
- VRC Head Chopがある場合の表示に関する問題を修正
- アバターのコライダー設定が特定の場合にコライダー位置がおかしくなる問題を修正
- v1.0.3 以下の問題を修正
- Unity2019でVRC Head Chop関連の処理がエラーとなる問題を修正
- v1.0.4 以下の問題を修正
- build 1490で固定中のアバターが持てない点を修正
- build 1490で固定中に首が振動する問題を修正
- ※以降、Unity2019に関してサポート対象外とさせていただきます。申し訳ありません。
- VirtualLens2を使用したい場合の手順を追加(ドローン等を操作するための手順)
- v1.0.5 以下の問題を修正
- MA Bone Proxyを使用していた衣装などの位置がおかしくなる問題を修正
- v1.0.6 以下の問題を修正
- v1.0.4、v1.0.5の対応方法に問題があった点を修正
- v1.0.7 以下の内容を修正
- FloorAdjusterを一緒に使用できるように修正
- 掴んで調整可能な部位に胸を追加
- v1.0.8 以下の内容を修正
- 視線と両手の指を動かせるように修正
- オブジェクト名が重複しないように修正(重複があると一部のツールでエラーが出るため)
- v1.0.9 以下の内容を修正
- メッシュとマテリアルスロットの数を減らすよう修正
- PhysBoneと同様にVRCHeadChopも固定しないように指定できるよう修正
- 固定したくないオブジェクトのパスを指定できるよう修正
- VirtualLens2を使用したい場合の手順を追加(ビルド時に追加されるオブジェクト用の設定)
- v1.0.10 以下の内容を修正
- 指先などがないアバターでエラーになる問題を修正
- 身体を固定していてハンドル表示時に、手のサイズを大きくできる機能を追加
- ハンドルが2本出ている部位で、動かしたときに片方は実際の身体のボーンの位置をキープするよう修正
- ポリゴン数を削減
- v1.0.11 以下の内容を修正
- 掴んで調整可能な部位に腰を追加(腰を掴んだ場合は身体全体が動きます)
- 身体を固定時に背中付近の赤いハンドルを掴んで身体を移動できるようにしました
- 手のサイズを変えるハンドル、身体を移動できるハンドルに関して身体を固定時であればハンドル非表示でもつかめるようにしました
- アバターの身体のボーンにConstraintがある場合にエラーとなる点を修正(身体のボーンにあるConstraintを制御するアニメーションなどが元のまま動作することを保証するものではありません。この点はご容赦ください)
- v1.0.12 以下の内容を修正
- Hipsの親がアバタールートになっている場合に正常動作しない問題を修正
- Armatureなどのスケールが1でない場合に、ポーズ固定時に分離した身体のサイズがおかしくなる問題を修正(ハオランで分離した体が見えないほど小さくなっていた等の問題が発生しておりました)
- アバターの設定で確認が必要な可能性がある内容が見つかった場合に警告ログを表示するようにしました。アバターの見た目がおかしくなるなどありましたらログを確認してみていただくと改善のヒントが見つかるかもしれません。