【Blender】UnityのHumanoidに対応したアーマチュアを作る(基本編)

 

この記事のBlenderのバージョンは2.79です。

 

はじめに

 

Unityの人型アバター「Humanoid」に対応したアーマチュアをBlenderで作成します。

今話題のVRchatVTuberが使っているモデルなどはこのHumanoid構造ですね。

 

実はBlenderには人型の標準リグ「Rigify」があり、ボタン一つで簡単に生成できてお手軽なのですが…

(Unity公式ドキュメント: BlenderとRigifyの使用

 

  • 初心者には少し扱いが難しい?

  ボーン制御の設定が盛り沢山。Blenderでアニメーションを作成する目的では非常に汎用的だと思います。

 

  • Unityへインポートするためには改造が必要

  公式ドキュメントにもあるように、ボーンをいくつか削除する必要があります。

 

  • 人によっては余分なボーンが含まれる

  表情はシェイプキーで代用できますし、制御用ボーンはアニメーションを作成しない人には無くても問題ありません。

 

ということで、自分用のメモも兼ねて、「Humanoid対応Armatureを自分で作る!」という記事を書いていこうと思います。

(Rigifyを使う方法はググればたくさん情報が載ってますので、そちらをご覧ください。)

 

★ 注意

 1. 超基本的なリグしか作りません。

 2. 表情の制御用ボーンは作成しません。シェイプキーは後々記事作るかも…。

 3. 揺れものも今回は作成しません。DynamicBoneとか使えばいいんじゃないかな(鼻ホジ)

 

スケール設定

 

まずはUnityとBlenderのスケールを合わせます。

Scene -> Units を [ Meters ] 、Unit Scale を [ 0.01 ] に設定する。

 

 

モデルの身長に合わせておきたい場合は ↓ のようにPlaneを作成してガイドにすると良いでしょう。

原点うんぬんについては、こうしておくとUnityにインポートした時に都合が良いのです。

(原点=オブジェクトの中心だと、UnityでモデルのPositionを全て0にすると埋まっちゃう、回転させた時に位置がずれる etc)

まぁこれはモデルやアーマチュアを作成する時に気をつけていれば大丈夫です。

 

アーマチュアを作る

 

Humanoidのボーン構造は下図の通り。

赤文字が必須ボーン、青文字がオプションボーンです。

オプションボーンは無くても問題ありませんが、今回は目と顎以外全て作成します。

でもUpperChestは正直いらないかも。

 

また、Unity公式ではTスタンスが推奨されているようです。

僕が試したところではAスタンスでも動きました。適用するアニメーションによっては歪んでしまうのかもしれませんが・・・。

 

まずは体と頭のボーン。

Armature(モデル全体の制御用) -> Hip -> Spine -> Chest -> Upper Chest -> Neck -> Head というように [ E ]キーで押し出す。

ArmatureボーンとHipボーンのConnectedは外す。(Hipボーンを選択して、 [ Alt + P ]キー -> [ Disconnect Bone ] )

また、人間の背骨と同じように、少しだけS字型に曲げておくと尚良いと思います。

 

ボーンの名前は忘れずに変えておくこと。

名前をしっかり付けていれば、後々Unityにインポートしたときに設定を変更せずに済みます。

 

 

次に、脚のボーン。

Hipを親ボーンとして股関節の位置にUpper Legボーンを配置、親ボーンとのConnectedは外す。

Upper Leg -> Lower Leg -> Foot -> Toes

まずは体の左側だけ。膝の部分は少しだけ曲げておくと自然になります。

 

 

最後に、腕〜手(指)のボーン。

指のボーンは無くてもHumanoidとして動くのですが、さすがに手の指を使わないことは少ないので作っておきましょう。

脚と同様に、Upper Chestを親ボーンとしてShoulderボーンを配置、接続は切る。

Shoulder -> Upper Arm -> Lower Arm -> Hand

指は根本から指先に向かって Proximal -> Intermediate -> Distal

親指: Thumb

人指し指: Index

中指: Middle

薬指: Ring

小指: Little

 

「指は地面に対しそれぞれ平行にまっすぐ伸ばし、親指は他の4指の45度の角度」がUnity推奨。(ほんまかいな

結局はモデルとのスキニング次第、とも書いていますので、ある程度自由に作っても大丈夫だとは思います。

 

今回の親指ボーンはRollを全て135度に揃えました。

指の上側がZ軸方向に向くように。この後作成する制御用ボーンを使うと、X軸で回転します。

 

 

最後に、片側だけ作成した脚や腕を反対側に複製し、名前の最後に「.L」「.R」をつける必要があるのですが、Blenderには便利な機能があります。

 

脚と腕のボーンを全て選択し、

1. [ w ] キー -> [ AutoName Left / Right ]  (または [ Armature ] メニュー -> [ AutoName Left/Right ] )

2. [ w ] キー -> [ Symmetrize ] (または [ Armature ] メニュー -> [ Symmetrize ] )

 

 

 

 

最後に

 

Armatureボーンはモデルの変形に影響しないようにDeformを切っておきます。

 

 

はい。Blenderでアニメーションを作成しない人はこれで完成です。

お疲れ様でした!

 

アニメーション用のコントロールボーンを作る場合は、

【Blender】UnityのHumanoidに対応したアーマチュアを作る(IK編)に進んでください。

 

Leave a Reply