見出し画像

VRChat用の非人型(non-humanoid)アバターを人型リグでとりあえずなんとかした

1.前置き

blenderもunityも触って一週間のド初心者の経験でも後からやる人の助けになれば…と思って書いた記事です。かなり低レベルな内容なので期待外れだったらごめんなさい。

この記事で伝えたいことは、
「好きなボーンだけでスキニングしてから人型を作ったらうまくいった」
ということだけです。
さっそく本題に入りましょう。

2.やったこと

自分が作りたかったのは箱に棒状の腕が生えただけのこんなアバター。腕はありますが肘も手首もありません。

ボーンはこんな感じ(胴と両腕は削除されたボーンで繋がっています)

自分の場合は腕だけ動けばよかったので、やりたい動きは胴体・右肩・左肩の3ボーンとblenderの自動ウェイトでできました。
これでも一応アバターとしてアップロードも操作もできますが、Tポーズにしかなりません。

それでは困るので人型アバターの枠組みに合わせて作ることに。
当然こんなモデルに最低15ボーンの人型スケルトンを割り当ててもうまく動いてはくれません。

そこで冒頭の要旨です。
好きな動きができるようなスキニングができたら、それを細分化したり数合わせのボーンを生やしたりして形式上人型のボーンを作りましょう。
ボーンの親子構造には注意してください。名前をちゃんとUnityの規則に従ってつけるとリグの自動割り当てがうまくいかなかった時に楽です。

適当すぎて首あたりでボーンが重なってますが何も問題はありません。
HIPS - spine - chest - shoulders - arm - forearm - hand
HIPS - spine - chest - neck - head
HIPS - UpLeg - Leg - foot - toe - toe_end

Unityが指定するボーンの親子構造はこんな感じです。
使わなくても脚周りまで作った方がいいと思います。

こうすることで、「ウェイトがついた腕・体幹」と「動いてもモデルに何の影響も及ぼさないそれ以外の部位」ができあがります。

3.結果

こうして動かしたい部分だけ動く非人型アバターが完成。デフォルトのポーズもちょっと柔らかくなりました。

静止状態でも腕がゆらゆらしたり、動いた時に腕がプラプラしたりするので生気があります。

自分は「物を持つ手に合わせて腕を動かす」などの挙動がなくても満足できたのでこれでいったん完成としました。
非人型アバターも色々ありますが、自分のように初めてアバターを作るような人のケースならこれでなんとかなることもあるのではないかと思います。

この記事の内容は以上です。頑張ってください。

この記事が気に入ったらサポートをしてみませんか?