sanmi’s blog

ゲームや3DCGに関してのメモ等。

BlenderからUnityへのセットアップ(1/2)

まずはBlenderでのモデルのセットです。

 

モデリングメタセコ、mayaを使うことが多いのですが

 

BlenderはUnityとの連携もカバーされているようなのでもしかしたら便利かも?

と、思いBlender経由でunityに出力してみます。

(筆者がBlender超初心者のため、初歩的な内容も合間に入ってきます;)

 

 

 

下記のプラグイン使えば楽々Blenderメタセコで作ったモデルが持ってこれました。

mqoインポータ更新 - Pythonスクリプト・Plug-in - フォーラム - Blender.jp

 

f:id:san3mi:20170705151655p:plain

 

メタセコからBlenderへ(モデルは制作途中のオリキャラです)

f:id:san3mi:20170705152556p:plain

カメラのパースとベスト後ろのスカート部分の描画が気になりますね。

調べたところ「N」キーで出てくるビューで調整出来ました。

f:id:san3mi:20170705153807p:plain

 

 

Blenderでの骨入れ

下記のマニュアルとブログサイトを参考に進めていきます。

Unity - マニュアル: Blender と Rigify の使用

人型モデルにRigを入れる – Gracies

【Unity】Blenderで人型のボーンを入れて、Animatorで走るアニメを再生する - おもちゃラボ

 

まずRigifyアドオンを有効に。

ファイル>ユーザー設定>アドオン>Rigging:Rigifyにチェックを入れる。

f:id:san3mi:20170705151213p:plain

 

・ アーマチュアの設定

追加>アーマチュア>Human(Meta-Rig)

f:id:san3mi:20170705163237p:plain

アーマチュアにスケールをかけておおよそサイズを合わせたら値をリセットしておく。

オブジェクト>適応>拡大縮小(or位置等)

f:id:san3mi:20170705164000p:plain

編集モードにしてボーンの関節位置を合わせる。

アーマチュアオプションのX軸ミラーにチェックを入れることで左右対称に編集可能。

 

・Rigの生成

Armatureを邪魔にならない位置へよけ、とマニュアルにあったのでよけてますが非表示にするだけで問題なさそう。

Armatureを選択、Object dataタブ>Rigify Buttons>Generateをクリック

すると、Rigが生成される。

f:id:san3mi:20170706144649p:plain

Rig生成時に出来たWGTのついたボーンはスキニングされずまったく使用されないそうなので削除する(なぜ生成されるのか?)

 

・リグをモデルにスキニング

オブジェクトモードでShiftを押しながらモデル→リグの順番で選択し

Ctrl+p>自動のウエイトで

f:id:san3mi:20170706155016p:plain

と、ここで問題発生!!

スキニング時に一部ポリゴン面が消えるという現象が!

f:id:san3mi:20170707121919p:plain

ここで大分時間ロスしていましたが、下記のブログ内容で解決しました。

Blender v2.76で作成したモデルをMecanim用に設定してUnityへインポートする ~ ぎーくなぁど

Auto Run Python Scriptsにチェックが入っていないと起こるようです。

f:id:san3mi:20170707121957p:plain

チェックを入れたら正常にスキニング出来ました。

あと、Unityマニュアルには

肩を“DEF-shoulder.R” と “DEF-shoulder.L” にスキニングして、親が “ORG-ribs” であることを確認します。

 とあるのですが、ORG-ribsは見当たらず…。

こちらについても上記ブログで触れられていたので参考に調整行っていきます。

親子関係を正していく作業です。

DEF-hipsをORG-hipsの子に

というように

中心軸にある(hips等)5組、腕4組、脚4組、指10組を親子関係調整。

なかなか手間がかかりますね…。

 

 

残りはウエイト調整。

・ウエイト調整

1.ウエイトペイント

オブジェクトモード時オブジェクト選択してCtrl+Tabでウエイトペイントモードになる。

頂点グループから入れたい箇所指定してヌリヌリ。

f:id:san3mi:20170706163211p:plain

2.ウエイト数値編集

頂点グループで一度適用を行う必要があるようです。

複数の頂点ウエイトの情報は表示出来ない模様。

mayaやXSIみたいに調整したい箇所一括で数値入力は難しい?

f:id:san3mi:20170706164424p:plain

 

他にもグラデーション塗りなるものがあるようですね。

ウエイトはこちらの記事がしっかり書かれてました。

Blender:ウェイトをつける - 伊藤覚留帳

 

 

これでひとまず形になりました。

次はUnityへ出力テスト!