Blender2.8xで、UnityのHumanoidボーンを入れる簡単な方法

先に結論だけ言うと

Unityのバージョンをなるべく新しくしてRigify入れて位置とサイズを調整するだけ(リネーム不要)

本編

ボーン入れめっちゃダルい

MagicaVoxelやMakeHuman、VRoidなど、簡単に人型モデルを作れるソフトが増えてきました。

入手・作成のハードルは下がりましたが、モデルがそのままUnityで動くとは限りません。Humanoid規格に対応させたボーンが設定されている必要があります。

このボーン入れ、無料でやるならBlenderが定番ですが、その難解なUIや連携のしづらさから、挫折した方もいるのではないでしょうか。

しかし、Blenderは2.80になってUIが洗練され、Unityもいつの間にか.blenderファイルを直接インポートできるぐらいには連携が取れるようになっていました。

そこで、イマドキになった令和バージョンのBlenderボーン入れの手順を記事にしようと思います。

操作さえ慣れれば簡単なので、ぜひお試しください。

手順 – 下準備

1. Blenderで3Dモデルを読み込む

インポートの方法がわからない場合は、こちらをどうぞ。

2. Rigifyのボーンを追加する

オブジェクトモードであることを確認してから、
追加 -> アーマチュア -> 基本 -> Basic Human (Meta-Rig)

を選択します。もし、該当項目がない場合、Rigifyが有効化されているかを確認してください。

手順 – ボーン入れ

1. 表示を整える

このままでは見づらいので、3Dビューのシェーディング(右上のまるいアイコン)を、ワイヤーフレームに変更します。

テンキーの1を押すと、カメラが正面を向きます。

マウスホイールを押しながらドラッグするとカメラが回転し、Shift+ホイールドラッグでカメラが平行移動します。1で真正面にすると編集しやすいです。

2. サイズを合わせる

さて、まずは大まかなサイズを合わせましょう。
3Dモデルを編集するのは不都合が出やすいので、リグ側を編集します。

右のシーンコレクションにて、metarigが選択されていることを確認したら、編集画面でSキーを押すと、マウスの移動で拡大と縮小ができるようになります。

左クリックで確定・右クリックで初期サイズにリセットされます。
脚の長さや肩の位置が合うように、大体のサイズを合わせましょう。

3. X軸ミラーを有効化する

大体の人型モデルは、左右対称な骨格をしているはずです。
右腕の位置や角度の編集が、自動で左腕にも適用されてほしいですよね。

左右対称な編集をしたい時は、metarigを選択した状態でNキーを押し、ツールを選択して「X軸ミラー」にチェックを入れます。

4. 位置と角度を合わせる

腕の角度や位置を整えてみましょう。

metarigを選択した状態で、編集モードになっていることを確認します(Tabキーで切り替えられます)

なにもない空間をクリックして選択を解除してから、腕部分だけが範囲選択されるようにマウスをドラッグします。
(ドラッグ選択が難しいようなら、Shiftを押しながら左クリックで複数選択します)。

移動はG、回転はRで行えます。

他の部位も、3Dモデルとマッチングするように調整していきましょう。

5. ウェイトをつける

ボーンのサイズを合わせたら、最後に3Dモデルとのウェイトをつける必要があります。

今回の場合、Tポーズを取っているために腕が髪を貫通しています。
このまま全てのモデルにボーンを入れてしまうと、腕が動くときに髪の毛まで引っ張られてしまいます。

こうならないようにするために、ボーンに対応して動いてほしいモデルだけを選択する必要があります。
大体の場合、髪は選択対象からはずし、Unity側で髪の3Dオブジェクトを首や頭のrigオブジェクトの子要素にすると上手くいきます(詳しい手順は後ほど解説します)。

それでは、ウェイトをつけたいモデルを選択していきましょう。
オブジェクトモードになっていることを確認し、Shiftボタンを押しながらシーンコレクションで3Dモデルから選択していき、最後にmetarigを選択します。

Ctrl + P ボタンを押し、現れたメニューから「自動のウェイトで」を選択します。
出てこない時は、今一度オブジェクトモードになっているか・3Dビューの編集画面にマウスを置いているか確認してください。

metarigを選択し、ポーズモードに変えてから腕や脚を回転させ、正常に動作しているようなら成功です!

Unityで動作させる

長くなりそうなので、後日また記事にします。

 この記事をシェアする

ABOUTこの記事をかいた人

インディーゲーム開発者。30歳目前。 学生時代、ツクールVXにハマりすぎて不登校に。 専門学校に通い、ゲーム会社に就職するも花開かず退職。 以後、個人でゲームを作りながら生きていく道を探している。 SEKIROとオーバーウォッチが大好きで、「プレイした者の心に爪痕を残すゲームを作る」のが夢。