VRM / Humanoidのボーン位置をすげ替えるハック
通常のVRMの骨格は人型でないとならず、人型から離れた骨格だとVRMに書き出せない。
しかしこの規則を破って非人型のVRM骨格を実現するハックを発見したGalupeno.icon
ただしデスクトップモードのみ可能であり、VRによるトラッキング環境などでは表示がおかしくなり、将来的な仕様変更で使用不可になるおそれあり。
FBXからVRMに変換・書き出しする際、Rigは[Animation Type: Humanoid]のTポーズ状態でないと書き出しできないが、一度VRMとして書き出した後ならボーン位置を移動することがことができる。
以下にハックの手順を記す。
ここでは鳥をモチーフとしたアバターの、頭と首のボーン位置を人型からすげ替える手順を説明する。
自作のフルスクラッチモデルをVRMアバターに変換した経験のある人向け。
また自作の非人型アバターの改造についての解説であり、自作でないアバターの改造は推奨しない。
頭と首以外の応用は未検証。
1、人型でないアバターのメッシュを用意する
2、Humanoidに準拠したリグを用意、この時点では両脚にだけウェイト設定
3、Humanoidリグに付け足す形で、本物の首と頭のボーンを作成ウェイト設定。ペアレント化はしなくてよい
https://gyazo.com/4741fc92b27babddfc0cd98fc448009f
4、UnityにFBXをインポートし、[Animation Type: Humanoid]に設定して[Avatar Definition: Create from This Model]でUnity向けのHumanoidリグを自動生成する。リグにエラーが出た場合は、Configureから手動で設定し直す
5、一旦ここでVRMに書き出す
6、書き出したVRMをインポートし、シーン上に置く
7、揺れものやマテリアル設定などセットアップをする
8、プレハブを直接改造するか、プレハブを開封してシーン上のモデルを改造するか決める
9、ダミーの首と頭のボーンを動かしてもメッシュは変形せず、本物のボーンでメッシュが変形することを確認する
10、ダミーの首ボーンを、本物の首ボーンの位置に合わせる。頭のボーンも同様に
https://gyazo.com/99573e2cdf64014af09db0ef37e35657
11、本物のボーンを、ダミーのボーンの子階層に設定する
https://gyazo.com/6d00e610a7c103e7f323b664378b6a28
12、ダミーのボーンを動かすことで、メッシュが変形することを確認する
13、再度VRMを書き出して、clusterなどにアップロードし、動作を確認する
注意
VRを使ったトラッキング環境では挿げ替えたボーンの位置が強制的に修正され、アバターの見た目がおかしくなることを確認しています!
VRMの仕様変更により使用が不可または見た目がおかしくなる可能性があります。
積極的な使用は推奨しません、あらかじめご留意の上お試しください。
この記事によって発生したいかなる損害にもガルペノは責任を負いません。