この記事では、BlenderでTポーズのモデルに ボーンを入れてUnityに持っていく方法を紹介します。
モデルの準備
Tポーズになっている3Dのモデルを用意します。
パーツごとに別オブジェクトになっている場合はすべて選択し、Ctrl+Jで一つにしておきます。
耳や目などのパーツが一つになった状態
ボーンを入れる
それではボーンを入れていきます。Blenderではボーンのことをアーマチュア(Armature)といいます。
アーマチュアを入れるときはテンキーの5で並行投影にして、1でフロントビューにしておくとやりやすくなります。
Zを押してワイヤーフレーム表示にして、
オブジェクトモードでShift+Aを押して、Armature→SingleBoneを選択します。
すると、ボーンがでてきます。
ここでボーンの見え方の設定をします。
ワイヤーフレーム表示にした理由は、ソリッド表示にしていると最初にボーンを出したときに見えないからです。
ソリッド表示にしてもボーンが見えるように設定しましょう。右側のメニューからボーンのメニュータブを開き、
X-Ray(日本語設定だとレントゲン)にチェックをいれます。するとソリッド表示にしてもボーンを見ることができます。
Namesにもチェックを入れておくとボーンの名前を見ることができます。あとから必要になってくるのでここにもチェックを入れておきましょう。
ボーンは普通のオブジェクトと同じように移動や拡大縮小ができます。
最初のボーンを背骨にするので、背骨のあたりにもっていきます。
続いて、ボーンを増やしていきます。
Tabキーを押して編集モードにしてください。編集モードにすると、ボーンの丸ぽち部分が選択できるようになります。先端の丸ぽちを選択して、Eキーで押し出してください。
新しい骨がでてきました。この丸ぽちを選択して押し出す作業で骨をつくっていきます。
これを繰り返して、以下のように半身分の骨をつくってください。
もう半身は後で反転させるので大丈夫です。
足の部分はこんな感じです。
この骨を、反転させる前にボーンの名前を変えます。
そうすることで、簡単に反転できるのと、名前をちゃんと変えておかないとUnity側でうまくボーンが反映されてくれませんでした。
右側の階層でボーンの名前をクリックするとその名前にあたるボーンがオレンジ色に選択され、
ダブルクリックするとボーンの名前を変更できます。
どの骨がどの名前の骨なのか確認しながら、名前を以下のように変えてください。
逆半身につくった人は、_Lの部分を_Rにして名前をつけてください。
ここまでできたら、骨を反転させます。
反転させたいボーン(_Lを名前に付けたもの)を選択し、
w→Symmetrizeを選択します。
すると、_Lがすべて_Rになってボーンが反転されました!便利でござる。
アーマチュアとメッシュの関連付け
さて、骨はできましたがこのままだと骨とモデルはバラバラです。
2人を関連付けてあげる必要があります。
オブジェクトモードにして、メッシュ→ボーンの順番で選択し、Ctrl+P→With Automatic Weights(自動のウェイトで)を選択します。これで、メッシュがボーンの子要素になり、関連付けができます。
ポーズモードで確認してみましょう。
ボーンを選択した状態で、Ctrl+Tab、もしくは下のメニューからポーズモードにします。
ポーズモードにすると、選択したボーンが水色になります。
ポーズモードの状態で、骨を選択してrキーでローテーションさせてください。
いろんなボーンで試してみて、何もなければ次の工程、”Unityに持っていく”をします。
が、しかし以下のgifをご覧ください。
おおっと、かわいくて愛しいお口が置いて行かれてますね。
ボーン入れをしたときに、このようにうまく関連付けできていない部分がでてくることがよくあります。
この場合、頭のボーンに関連付けらるはずのお口のメッシュがうまく対応できていません。
これを直していきます。
ボーンのウェイト調整
ボーンをポーズモードにした状態で、メッシュを選択し、Ctrl+Tabをおしてください。すると、赤とか青とかなんかすごい色になりました。
これはウェイトペイントモードといって、それぞれのボーンを動かすときに”どこを重点的に動かすか”というのを調整できるモードです。
赤色が一番ウエイトが強く、青色になるにつれて低くなります。
頭のボーンを選択して見てみると、先ほど置いて行かれていたお口だけ、青色になっています。
これが原因で置いて行かれてたのですね。この青い部分をペイントします。
ウェイトペイントモードにしたときに、カーソルが赤丸になっていました。
これがブラシです。ブラシの太さなど細かい設定は左側のメニューから変えることができます。
今回は真っ赤に塗るので、weightは1.0のままでぬります。
すると、お口がちゃんとついてきてくれるようになりました!(わかりずらいですが)
このように、おかしいところはウェイトペイントモードで修正しましょう。
ウェイトペイントモードはメッシュを選んだ状態でCtrl+Tabを押すとオブジェクトモードに戻ることができます。
ポーズモードも同様に、ボーンを選択した状態でCtrl+Tabを押すと戻ることができます。
Unityに持っていこう
ここまでできたら完成です。ボーンとメッシュをオブジェクトモードにします。
ボーンとメッシュの両方を選択した状態でFile→Export→FBXを選びます。
名前をつけて、左側のメニューの
Selected Objectにチェックを入れ、ArmatureとMeshを選択します(Shiftキーを押しながら選択するといけます)。
Export FBXします。
Unityを開いて、Assetsフォルダの中に先ほどのFBXファイルを入れてください。
入れたモデルを選択し、InspectorのからRigのタブを開きます。
Animation TypeをHumanoidにしてApplyを押すと、Configure...が押せるようになります。
Configure...を押すと、骨の詳細シーンに切り替えます。
Inspectorのアバターが緑になっていれば大丈夫です。
あってもなくても良い骨と、必要な骨がありますが、
必要な骨が抜けている場合はその部分が赤くなってエラーメッセージがでます。
エラーがでた場合、ヒエラルキーから該当するボーンを当てはめるだけでなおる場合もあれば、
Blenderに戻って修正しなければいけない場合もあるので、エラーメッセージをよんで対応してみてください。
変更を加えたら、Applyを押すと変更が保存されます。
エラーがなければ、インスペクターでMuscles & Settingsのタブを開き、バーを動かして動きを確認しましょう。
違和感なく骨が曲がっていれば、これで完了です!Doneを押すと元のシーンに戻れます。