46
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[VRChat]DynamicBoneスカートの私も優雅に裾をつまんでご挨拶(カーテシー)したいですわ

Last updated at Posted at 2019-05-02

#今回のアバター
先日、また新しいアバターを購入しました。
クローシアさんのシルヴィーヌちゃんです。

もともとは以前の[DynamicBone吊りスカート](https://qiita.com/hoke946/items/c868329ee15fb91a890d)を長い丈のスカートで検証するためにと思って買ったのですが、純粋にかわいいです。すぐに使い込みたくなりました。

#長い丈のスカートはつまみたくなる
ほぼ時を同じくして、妻がメイドさんになりました。

このメイドさんモデルの[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) いいですねぇ。 シルヴィーヌちゃんも長い丈のスカート、つまんでご挨拶したくなります。

#スカートは大抵DynamicBoneですね
ところが、アバターのスカートの揺れはClothではなくDynamicBoneで表現されることが多く、シルヴィーヌちゃんもその1人です。
Clothのような網の目のコライダーはなく、スカートのボーンの粒をどうにかしてつまみ上げるしかありません。それが目標になります。
image.png

#スカートのボーンをコライダーで引っかける
こんな形のDynamicBoneColliderを左右の手の先に用意します。
この3つのコライダーの窪みでスカートのボーンを引っかけるという寸法です。
clip_hold2.PNG
clip_hold1.PNG
右手の例ですが、手のボーン(hand.R)の下に空GameObjectを加えて、その下にさらに3つの空GamgeObjectを加え、それぞれDynamicBoneColliderをアタッチして位置調整をします。
今、わかりやすくコライダーに沿ってCylinderモデルも一緒につけていますが、こちらは実際には不要です。
コライダーが出来上がったら、スカートを揺らしているDynamicBoneに設定してください。

#特定のハンドサインで出るようにアニメーション設定
しかし、常時コライダーが飛び出していては邪魔になるし、スカートの中に手を入れることもできなくなってしまうので、
普段はコライダーの幹である「holdhand.R」(左手は「holdhand.L」)のscaleを0.001などに縮小しておき、
それを特定のハンドサインで1に戻すようにします。私はRockNRollに設定しました。

ハンドサインの設定方法についてはこちらを参照してください。

アニメーションオーバーライドの設定

AnimationClipにはTransform値も設定することができます。
あと折角なので、つまんだときの指の形を作っておくのもオススメです。

#スカートをつまむことができました
これで一応、VRChatでスカートをつまみ上げることができるようになりました。

#掴み判定を拡大する
(2019/5/6 最初に記載していたアニメーション設定は効果がないことがわかったので記事を大幅に修正しました)

ただ、このボーンの1点をコライダーの隙間に挟み込むのは結構難しく、
瞬間でさっとつまんで優雅にご挨拶、とするのはかなりの修練が必要です。

そこで、通常の「holdhand.R」(左手は「holdhand.L」)のscaleを0.001にするのではなく、positionをzのマイナス方向に移動させておき、ハンドサインで戻すようにします。(回り道申し訳ないです)
clip_hold11.PNG

こうすることにより、下からたぐり寄せるようにコライダーが動き、掴み判定が拡大します。

スカートが手に吸い付いている感じがありますね。掴み成功率が上がっています。

ただ、あまり離れすぎて移動量が多すぎるとすり抜けて効果がないかもしれません。
通常では触れない範囲のギリギリのところに設定するようにしてください。

#他の子でも試してみる
スカートが短かめで、シルヴィーヌちゃんほどフワッとしていない場合。
キャプチャ.PNG
改変ますきゃっとちゃん。節が多い。あまり大きなコライダーは辛そうですね。
clip_hold10.PNG
少し難易度は高いですが、なんとかカーテシーできました。

スカートがフワッとしていないので、動きとしては上から掴むような感じ。そのときの手首の角度を考慮して、コライダーは斜めにしました。 ![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は低くしておかないと、コライダーとの衝突でスカートがブルブルします。硬めのスカートがいいという場合はちょっと厳しいです。
46
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?