めーぷるのおもちゃばこ

- アイドルになりたいエンジニア女子の制作日記 -

【Blender】【Unity】Blenderでボーンを入れてUnityで使う

この記事では、BlenderでTポーズのモデルに ボーンを入れてUnityに持っていく方法を紹介します。

 

 

モデルの準備

Tポーズになっている3Dのモデルを用意します。

パーツごとに別オブジェクトになっている場合はすべて選択し、Ctrl+Jで一つにしておきます。

f:id:maplesyrup-cs6:20181031125751p:plain

耳や目などのパーツが一つになった状態

 

 

 

ボーンを入れる

それではボーンを入れていきます。Blenderではボーンのことをアーマチュア(Armature)といいます。

アーマチュアを入れるときはテンキーの5で並行投影にして、1でフロントビューにしておくとやりやすくなります。

Zを押してワイヤーフレーム表示にして、

オブジェクトモードでShift+Aを押して、Armature→SingleBoneを選択します。

f:id:maplesyrup-cs6:20181031130138p:plain

 

すると、ボーンがでてきます。

f:id:maplesyrup-cs6:20181031150703p:plain

 

 

ここでボーンの見え方の設定をします。

ワイヤーフレーム表示にした理由は、ソリッド表示にしていると最初にボーンを出したときに見えないからです。

ソリッド表示にしてもボーンが見えるように設定しましょう。右側のメニューからボーンのメニュータブを開き、

X-Ray(日本語設定だとレントゲン)にチェックをいれます。するとソリッド表示にしてもボーンを見ることができます。

f:id:maplesyrup-cs6:20181031153714p:plain

 

Namesにもチェックを入れておくとボーンの名前を見ることができます。あとから必要になってくるのでここにもチェックを入れておきましょう。

 

ボーンは普通のオブジェクトと同じように移動や拡大縮小ができます。

最初のボーンを背骨にするので、背骨のあたりにもっていきます。

 

続いて、ボーンを増やしていきます。

Tabキーを押して編集モードにしてください。編集モードにすると、ボーンの丸ぽち部分が選択できるようになります。先端の丸ぽちを選択して、Eキーで押し出してください。

f:id:maplesyrup-cs6:20181031163212g:plain

 

 新しい骨がでてきました。この丸ぽちを選択して押し出す作業で骨をつくっていきます。

これを繰り返して、以下のように半身分の骨をつくってください。

f:id:maplesyrup-cs6:20181031164041p:plain

 

もう半身は後で反転させるので大丈夫です。

足の部分はこんな感じです。

f:id:maplesyrup-cs6:20181031164140p:plain

 

 

この骨を、反転させる前にボーンの名前を変えます。

そうすることで、簡単に反転できるのと、名前をちゃんと変えておかないとUnity側でうまくボーンが反映されてくれませんでした。

 

右側の階層でボーンの名前をクリックするとその名前にあたるボーンがオレンジ色に選択され、

ダブルクリックするとボーンの名前を変更できます。

f:id:maplesyrup-cs6:20181031170633p:plain

 

どの骨がどの名前の骨なのか確認しながら、名前を以下のように変えてください。

逆半身につくった人は、_Lの部分を_Rにして名前をつけてください。

f:id:maplesyrup-cs6:20181031171735p:plain

 

ここまでできたら、骨を反転させます。

反転させたいボーン(_Lを名前に付けたもの)を選択し、

w→Symmetrizeを選択します。

f:id:maplesyrup-cs6:20181031172501g:plain

 

すると、_Lがすべて_Rになってボーンが反転されました!便利でござる。

 

 

アーマチュアとメッシュの関連付け

 さて、骨はできましたがこのままだと骨とモデルはバラバラです。

2人を関連付けてあげる必要があります。

 

オブジェクトモードにして、メッシュ→ボーンの順番で選択し、Ctrl+P→With Automatic Weights(自動のウェイトで)を選択します。これで、メッシュがボーンの子要素になり、関連付けができます。

f:id:maplesyrup-cs6:20181031174207p:plain

 

 

ポーズモードで確認してみましょう。

ボーンを選択した状態で、Ctrl+Tab、もしくは下のメニューからポーズモードにします。

ポーズモードにすると、選択したボーンが水色になります。

f:id:maplesyrup-cs6:20181031180009p:plain

 

 

ポーズモードの状態で、骨を選択してrキーでローテーションさせてください。

f:id:maplesyrup-cs6:20181031180405g:plain

 

いろんなボーンで試してみて、何もなければ次の工程、”Unityに持っていく”をします。

 が、しかし以下のgifをご覧ください。

f:id:maplesyrup-cs6:20181031180744g:plain

 

おおっと、かわいくて愛しいお口が置いて行かれてますね。

ボーン入れをしたときに、このようにうまく関連付けできていない部分がでてくることがよくあります。

この場合、頭のボーンに関連付けらるはずのお口のメッシュがうまく対応できていません。

これを直していきます。

 

 

ボーンのウェイト調整

ボーンをポーズモードにした状態で、メッシュを選択し、Ctrl+Tabをおしてください。すると、赤とか青とかなんかすごい色になりました。

f:id:maplesyrup-cs6:20181031181833p:plain


これはウェイトペイントモードといって、それぞれのボーンを動かすときに”どこを重点的に動かすか”というのを調整できるモードです。

赤色が一番ウエイトが強く、青色になるにつれて低くなります。

f:id:maplesyrup-cs6:20181031183008p:plain

 

 

頭のボーンを選択して見てみると、先ほど置いて行かれていたお口だけ、青色になっています。

これが原因で置いて行かれてたのですね。この青い部分をペイントします。

f:id:maplesyrup-cs6:20181031183751p:plain

 

ウェイトペイントモードにしたときに、カーソルが赤丸になっていました。

これがブラシです。ブラシの太さなど細かい設定は左側のメニューから変えることができます。

f:id:maplesyrup-cs6:20181031184013p:plain

 

今回は真っ赤に塗るので、weightは1.0のままでぬります。

f:id:maplesyrup-cs6:20181031183641g:plain

 

すると、お口がちゃんとついてきてくれるようになりました!(わかりずらいですが)

f:id:maplesyrup-cs6:20181031184349g:plain

 

このように、おかしいところはウェイトペイントモードで修正しましょう。

ウェイトペイントモードはメッシュを選んだ状態でCtrl+Tabを押すとオブジェクトモードに戻ることができます。

ポーズモードも同様に、ボーンを選択した状態でCtrl+Tabを押すと戻ることができます。

 

 

Unityに持っていこう

ここまでできたら完成です。ボーンとメッシュをオブジェクトモードにします。

ボーンとメッシュの両方を選択した状態でFile→Export→FBXを選びます。

f:id:maplesyrup-cs6:20181101110221p:plain

 

名前をつけて、左側のメニューの

Selected Objectにチェックを入れ、ArmatureとMeshを選択します(Shiftキーを押しながら選択するといけます)。

Export FBXします。

 

 

Unityを開いて、Assetsフォルダの中に先ほどのFBXファイルを入れてください。

f:id:maplesyrup-cs6:20181101110547p:plain

 

入れたモデルを選択し、InspectorのからRigのタブを開きます。

Animation TypeをHumanoidにしてApplyを押すと、Configure...が押せるようになります。

f:id:maplesyrup-cs6:20181101110756p:plain

 

Configure...を押すと、骨の詳細シーンに切り替えます。

Inspectorのアバターが緑になっていれば大丈夫です。

f:id:maplesyrup-cs6:20181101111921p:plain

 

あってもなくても良い骨と、必要な骨がありますが、

必要な骨が抜けている場合はその部分が赤くなってエラーメッセージがでます。

f:id:maplesyrup-cs6:20181101112313p:plain

 

エラーがでた場合、ヒエラルキーから該当するボーンを当てはめるだけでなおる場合もあれば、

Blenderに戻って修正しなければいけない場合もあるので、エラーメッセージをよんで対応してみてください。

変更を加えたら、Applyを押すと変更が保存されます。

 

 

エラーがなければ、インスペクターでMuscles & Settingsのタブを開き、バーを動かして動きを確認しましょう。

違和感なく骨が曲がっていれば、これで完了です!Doneを押すと元のシーンに戻れます。

f:id:maplesyrup-cs6:20181101112632p:plain