VRM1.0 サブアーム Rotation Constraint

こんにちは(⁠⁰⁠▿⁠⁰⁠)⁠





今回はガネーシャのVRM0.xのアバターをVRM1.0に変換しました。
clusterが9月からVRM1.0に対応するので放置していた副腕を動かす設定をしました。



作業環境
・Blender 3.2
・Unity 2022.3.22f1
・VRM-0.125.0_f812.unitypackage



UniVRM0.xが入っているプロジェクトにUniVRM1.0を入れるとエラーが出るので、
新しいプロジェクトで作製しました。

またcluster関係で使用しているUnity 2021.3.4f1だと、
小タブを展開すると下の項目と重なるバグで設定が困難だったので、
VRChat関係で使用しているUnity 2022.3.22f1を使いました。










↓VRM0.xとVRM1.0のVRoidHubです。

メインの腕に後ろの腕が追従するように変更しました。






↓参考にしたサイト


私は上記の記事のVRM 1.0 MeshUtilityを上手く使用できませんでした。
使うとメッシュのデータが消失してしまうので、
ボーンのローカル軸の正規化を行うなら一度VRM0.xにして対応しようと思います。

上記の記事に加えてConstraintの設定を行いました。


サブアームのボーン全てにVrm 10 Rotation Constraintのコンポーネントを追加して、
同期したいメインアームのボーンをそれぞれのソースに入れていきます。

Weightを1以下にすると追従具合を下げられます。



Vrm 10 Rotation Constraint
Vrm 10 Roll Constraint
Vrm 10 Aim Constraint

この3つを駆使して色々動かしましょう!わら





私はfbx→VRM1.0で変換しましたが、
VRM0.x→VRM1.0で変換する場合は下記の記事に載っています。

またFirstPersonを変更したい場合のおすすめ記事も貼っておきます。


↓その他参考











余談

VRM1.0ではカプセルコライダーが使えるようになるなど便利になった点がありますね。

中でも個人的に気になっているのはfbxの差し替えが比較的簡単になったことです。
しかしボーンのローカル軸が保持され正規化が手動になりました。
そして揺れ設定にはリーフボーンが大事になっています。(無いと末端のボーンが揺れない。)
このあたりのVRM0.xとの違いがどうなっていくのか注目したいです。


・差し替えの利便性的にfbx→VRM1.0でやりたいけど正規化必須ならVRM0.xに一度変換する。
・フルスクラッチモデルでリーフボーンが入っていない物には足さなければならない。


このあたりどうなるのかなと感じました。
(いい方法があったら教えて下さい!!わら)



0 件のコメント:

コメントを投稿

FreeCADで作ったモデルをBlenderで回してみました!!

こんにちは(⁠⁰⁠▿⁠⁰⁠)⁠ くるくる~ この回ってる物はインペラですね!! 実は車とかにも使われている身近な工業部品なんですよ。 切削加工で作るなら同時五軸制御(先端点制御)が必要で…。 んなことはどうでも良いですね。わら