#今回のアバター
先日、また新しいアバターを購入しました。
クローシアさんのシルヴィーヌちゃんです。
もともとは以前の[DynamicBone吊りスカート](https://qiita.com/hoke946/items/c868329ee15fb91a890d)を長い丈のスカートで検証するためにと思って買ったのですが、純粋にかわいいです。すぐに使い込みたくなりました。昨日シルヴィーヌちゃんをお迎えして、私のパーソナルカラー(?)の紫ベースに変えたりした。
— ほけ (@hoke946) 2019年4月28日
もともといい感じのSitモーション入ってるけど、DynamicBone吊りでさらに仰け反っても安定!
シルヴィーヌ | CaTrusty https://t.co/6ysMFxiqHe #booth_pm pic.twitter.com/bApssoIF2h
#長い丈のスカートはつまみたくなる
ほぼ時を同じくして、妻がメイドさんになりました。
このメイドさんモデルの[Amelia](https://booth.pm/ja/items/1335489)さんですが、スカートの裾をつまんでご挨拶、いわゆるカーテシーができるようになっています。 その仕組みはどうやら、Clothの網の目のようなコライダーに、ハンドサインで手に出現させたコライダーを引っかけてスカートを持ち上げるというもののようです。 ![clip_hold8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275693/092059df-d14d-6dd3-4240-a74eba8dd502.png) いいですねぇ。 シルヴィーヌちゃんも長い丈のスカート、つまんでご挨拶したくなります。「こんなメイド欲しいわ~」と思いながら坊ちゃまとメイドを一人二役でやって来た。※BGMはありますが声は入って無いです。
— 三十個(みそこ)BLラウンジ店長 (@0ne_chan) 2019年4月28日
二人ともホバー移動。
VRCワールド名:Twin Spire Village
BGM:MusMus
VRC向けアバター 「Amelia」 Ver.1.0 | SakuSakuのモデリング工房 https://t.co/qEkd8GkvqO #booth_pm pic.twitter.com/P0r3cHEMOx
#スカートは大抵DynamicBoneですね
ところが、アバターのスカートの揺れはClothではなくDynamicBoneで表現されることが多く、シルヴィーヌちゃんもその1人です。
Clothのような網の目のコライダーはなく、スカートのボーンの粒をどうにかしてつまみ上げるしかありません。それが目標になります。
#スカートのボーンをコライダーで引っかける
こんな形のDynamicBoneColliderを左右の手の先に用意します。
この3つのコライダーの窪みでスカートのボーンを引っかけるという寸法です。
右手の例ですが、手のボーン(hand.R)の下に空GameObjectを加えて、その下にさらに3つの空GamgeObjectを加え、それぞれDynamicBoneColliderをアタッチして位置調整をします。
今、わかりやすくコライダーに沿ってCylinderモデルも一緒につけていますが、こちらは実際には不要です。
コライダーが出来上がったら、スカートを揺らしているDynamicBoneに設定してください。
#特定のハンドサインで出るようにアニメーション設定
しかし、常時コライダーが飛び出していては邪魔になるし、スカートの中に手を入れることもできなくなってしまうので、
普段はコライダーの幹である「holdhand.R」(左手は「holdhand.L」)のscaleを0.001などに縮小しておき、
それを特定のハンドサインで1に戻すようにします。私はRockNRollに設定しました。
ハンドサインの設定方法についてはこちらを参照してください。
AnimationClipにはTransform値も設定することができます。
あと折角なので、つまんだときの指の形を作っておくのもオススメです。
#スカートをつまむことができました
これで一応、VRChatでスカートをつまみ上げることができるようになりました。
スカートの裾つまむの見てたら私もやりたくなったから仕込んでみたよ pic.twitter.com/tf0VtJdOqr
— ほけ (@hoke946) 2019年4月30日
#掴み判定を拡大する
(2019/5/6 最初に記載していたアニメーション設定は効果がないことがわかったので記事を大幅に修正しました)
ただ、このボーンの1点をコライダーの隙間に挟み込むのは結構難しく、
瞬間でさっとつまんで優雅にご挨拶、とするのはかなりの修練が必要です。
そこで、通常の「holdhand.R」(左手は「holdhand.L」)のscaleを0.001にするのではなく、positionをzのマイナス方向に移動させておき、ハンドサインで戻すようにします。(回り道申し訳ないです)
こうすることにより、下からたぐり寄せるようにコライダーが動き、掴み判定が拡大します。
うん、やっぱりカーテシーのコライダーはこうすべきなんだよ! pic.twitter.com/EdJzuXfxWk
— ほけ (@hoke946) 2019年5月6日
スカートが手に吸い付いている感じがありますね。掴み成功率が上がっています。
ただ、あまり離れすぎて移動量が多すぎるとすり抜けて効果がないかもしれません。
通常では触れない範囲のギリギリのところに設定するようにしてください。
#他の子でも試してみる
スカートが短かめで、シルヴィーヌちゃんほどフワッとしていない場合。
改変ますきゃっとちゃん。節が多い。あまり大きなコライダーは辛そうですね。
少し難易度は高いですが、なんとかカーテシーできました。
スカートがフワッとしていないので、動きとしては上から掴むような感じ。そのときの手首の角度を考慮して、コライダーは斜めにしました。 ![clip_hold12.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275693/1434d11e-a93b-02b1-e00c-2075e9bd4b06.png) ![clip_hold13.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275693/4a35bedf-7f6c-5c3d-c83e-8fbf444e045d.png) ただし、DynamicBoneのstiffnessは低くしておかないと、コライダーとの衝突でスカートがブルブルします。硬めのスカートがいいという場合はちょっと厳しいです。ますきゃっとちゃん、ちょっと難しいけど一応カーテシーできた。
— ほけ (@hoke946) 2019年5月6日
ただ、DynamicBoneのstiffnessは下げておかないとブルブルしてダメっぽい。 pic.twitter.com/aE3gWzHZmC