ななさいの備忘録

備忘録がわりです

Resoniteにおける揺れもの設定の話

これはResoniteアドベントカレンダーその3の8日目の記事です。

adventar.org

昨日の記事はFukuroさんのゲームイベント🎮を毎週開催してみた話 でした! 気になった方は是非実際に参加してみてください!

[まえがき]おまえは誰?これは何?

私はResoniteで何かしてたりしてなかったりする人です。これは揺れ物の設定の雑な情報として見てもらえたらいいかなと思って書いている記事です。

目次

この記事で話すこと・話さないこと

話すこと

  • 揺れものの設定に必要な最低限の概要
  • 希望する揺れものを実現するため近づけるための値の増減方向の話。

話さないこと

  • DevToolの詳しい使い方
  • ResoniteのDynamicBoneChainの機能説明の全網羅
  • 実装ベースでのパラメータの変化の話
  • 厳格な貫通対策
  • ProtFluxを用いたなにか
  • ユーザーの作った補助ツールの使い方

結論

なんもわからんかったらとりあえず

  • Elasticity
  • Damping

を調整すればよい

セットアップ例

なるべく失敗を防ぎ、品質高めに揺らすためのセットアップ方法。

羅生門*1は考慮していない。

また、Boneの数は2本以上ある必要がある。

小技(複数の房をまとめる等)の話はここでは解説しない。

初期設定はわかってる人は「設定を詰める」まで読み飛ばしてよい。

揺れるようにする

とりあえず揺れるようにするまで

DevToolを用意する。

揺らしたい場所の根本にDynamicBoneChainをアタッチする。

髪に設定する場合は房ごとにアタッチする。

下記の画像だと Ahoge.001,FronHair.001とかそれぞれに入れる。

子にしたものを"リグのみ"セットアップ を押下

Bones(list): に髪のBoneが登録されていることを確認する。

入っていない場合はもう一度押す。それでもダメな場合は子にしたものをセットアップを押すしかない。*2

この段階で揺れるようにはなる。しかし、おそらく理想の揺れ方にはなっていないと思うのでここから設定を詰めていく。

設定を詰める

ボーンのコライダーの大きさを設定する。

コライダーを確認できるチェックボックスにチェックを入れる。

そうするとボーンのコライダーを目視することが出来るようになる。

必要に応じてチェックを外す。

BaseBoneRadiusの値をいじっていい感じの大きさにする。

コライダー間の隙間が大きすぎず、小さすぎずであればあとは好み。

後に説明する、「掴めるようにする」「コライダーを設定する」にも影響するところ。場合によってはその時にも微調整する。

小さすぎるパターン(コライダーの青い玉が見えない。

大きすぎるパターン(明らかに邪魔

揺れ具合を設定する。

Damping,Elasticityの値を0にする。

Elasticityの値を10にする。この状態で揺らすとうにょうにょと永遠に揺れ続ける。

揺れの速さを見て調整したい場合は10刻みで値を調整するとやりやすい。

早くしたい場合はElasticityを大きく、遅くしたい場合は小さくする。(Dampingを設定すると遅くなるので気持ち速めかなって思うぐらいでよい。

Dampingの値を3にする。

揺れの収まり具合を調整する。こちらは1刻みで調整するとやりやすい。

うにょうにょしすぎる場合は数字を上げて。うにょうにょさせたい場合は下げる。

掴めるようにする。

IsGrabbableにチェックを入れる。

コライダーを設定する。

反応するコライダーを見られるようにする。DynamicBoneChainに反応しているコライダーは緑色で表示される。

コライダーを入れたいところ*3に子スロットを用意する

DynamicBoneSphereColliderをアタッチする。間違えやすいので注意

当たり判定を入れたいDynamicBoneChainに先ほどアタッチしたDynamicBoneSphereColliderを入れる

Colliderの大きさを調整する。

各項目の概要

あとで解説用アイテムのリンクを張る。

正しい意味とは限らない。感覚的に理解するための解説。

inertia

直訳:慣性

ボーンの根本が移動したとき、先端がどれだけ追従するかの値、0にすると先端はぎりぎりまでとどまり続ける。1にすると完全に追従する。いなぁしゃ と読むらしい

inertia force

直訳:慣性力

スロットが移動するときの加減速に対して今の加速度を維持しようとする値。いなぁしゃふぉーすと読む。 ルーク、フォースを使え。

多分設定が一番難しい。

わからんかったら初期値か0推奨。

Damping

直訳:減衰

もとに戻る力が初期状態に近づくにつれて弱まる値。だんぴんぐ と読む。馴染み深い

これが0だと無抵抗の振り子になり、揺れは収まらない。

Elasticity

直訳:弾性

元の形に戻ろうとする値。えらしてぃしてぃ と読むらしい。私はよく噛む。

Stiffness

直訳:剛性

ボーンがどれだけ曲がるか。すてぃっふねす と読むらしい。読みやすい

よくあるやつの対処法

頭を貫通する。

Headにコライダーを入れる。(下で話す前髪横髪が見える対策もついでに入れるとよい。

移動すると前髪・横髪が見える。

下記内容を上から順番に試す。

  • inertiaの値を0.8ぐらいにして移動時に追従しやすいようにする。
  • inertia force の値を0にして 余計な慣性力を排除する。
  • Stiffnessの値を0.8ぐらいにして 揺れすぎないようにする。(前髪のみ推奨

後ろ髪が体を貫通する

クソデカコライダーをChestに入れる。Resoniteはスフィアコライダーしかないの大きなコライダーで面を作る。

移動するとスカートが貫通する。

コライダーを入れる。

inertiaを大きめにする。

足がスカートが貫通する。

足に二つのコライダーを入れるとBoneを挟み込む形になるので割と耐える

なんかバタバタする。

FPSが低くなった時になる。Elasticityを高くしすぎると起きやすい。

対処方法はElasticityを調整するか、強いPCを買う。

インサイドコライダー。。。

ない。欲しい。


[あとがき]

最初にも述べた通り全網羅はできていませんし、実装ベースの話ではありません。あと途中で力尽きたのでどこかで動画で解説しようと思います。

それは違うよ!っていう話があれば追加で記事を書いたりコメントしたりしてくれると嬉しいです。

明日は あきんどアキナさんの 総工期1日!アキナ商店事務所移転密着24時(初心者向け)(SnappingToolとか) です!どのような工事の様子が見られるのか楽しみですね!

それでは、良い揺れものライフを

*1:ほかのアバターから髪をはぎ取り付け替える行為。今回の場合は販売されている別の髪の毛を使用する場合も含む

*2:この時、髪のBone以外のものが入っているとそれも含まれてしまうのであらかじめ削除するかBoneslistから削除する必要がある。

*3:だいたいHeadかChestあたりかな