本日は Blender とユニティちゃんの調査枠です。
ユニティちゃんを Blender で読み込む手順について記事にします。
ユニティちゃんのデータの取得方法は以下の記事を参照してください。
bluebirdofoz.hatenablog.com
Blender は 2.79b を利用します。
bluebirdofoz.hatenablog.com
ユニティちゃんをそのまま読み込んだ場合
ユニティちゃんのFBXファイルは UnityChan_1_2_1.unitypackage 内の以下のアセットフォルダから取得できます。
・Assets/UnityChan/Models/unitychan.fbx
しかし、このFBXファイルをそのまま Blender に読み込むと、様々な問題が発生します。
・ユニティちゃんの顔と体が分離する
・ボーンの構造や向きがおかしい
・テクスチャが表示されない
これらの問題を改善する手順を書き出します。
読み込みに必要なファイル
ユニティちゃんのFBXファイルを読み込む場合、テクスチャは外部ファイルなのでこれらのファイルも必要です。
FBXファイルからの相対パスでの参照になるので、フォルダ構成も Assets/UnityChan/Models 配下からそのままコピーします。
必要なファイルとそのフォルダ構成は以下の通りです。
・FBXファイル本体
unitychan.fbx
・テクスチャファイル
UnityChanShader/Texture/body_01.tga UnityChanShader/Texture/body_01_NRM.tga UnityChanShader/Texture/body_01_SPEC.tga UnityChanShader/Texture/cheek_00.tga UnityChanShader/Texture/DEFAULT_NORMAL.tga UnityChanShader/Texture/ENV2.tga UnityChanShader/Texture/eye_iris_L_00.tga UnityChanShader/Texture/eye_iris_R_00.tga UnityChanShader/Texture/eyeline_00.tga UnityChanShader/Texture/face_00.tga UnityChanShader/Texture/FO_CLOTH1.tga UnityChanShader/Texture/FO_RIM1.tga UnityChanShader/Texture/FO_SKIN1.tga UnityChanShader/Texture/guide.tga UnityChanShader/Texture/hair_01.tga UnityChanShader/Texture/hair_01_NRM.tga UnityChanShader/Texture/hair_01_SPEC.tga UnityChanShader/Texture/skin_01.tga
ボーンの構造を合わせる
コピーした unitychan.fbx を Blender で読み込みます。
メニューから ファイル -> インポート -> FBX(.fbx) を選択します。
FBXの読み込み画面が開きます。
このとき、[FBXをインポート]パネルの設定を以下の通り設定します。
・[メイン]タブ
- デフォルト設定から変更無し
・[アーマチュア]タブ
- [リーフボーンを無視]にチェック
- [子を強制的に接続]にチェック
この設定で[FBXをインポート]ボタンをクリックして、FBXファイルを読み込みます。
これでボーン構造が Blender 上で綺麗に見える形に取り込まれます。
[データ]タブの[レントゲン]にチェックを入れると、体に埋まっているボーンも確認できます。
顔と体を合わせる
次に顔と体の位置と大きさを合わせます。
FBXファイルを取り込んだ際に生成された以下のメッシュオブジェクトを複数選択します。
アウトライナーウィンドウで Shift + 左クリック することで同時に選択可能です。
・BLW_DEF
・EYE_DEF
・MTF_DEF
・eye_L_old
・eye_R_old
・eye_base_old
・head_back
このとき、アーマチュアオブジェクトや EL_DEF は選択しないよう注意してください。
(EL_DEFは睫毛のオブジェクトで、これだけ位置がリセット済みのため)
この状態で、3Dビュー上で以下のショートカットキーを実行します。
・ALT + Gキー(位置のリセット)
・ALT + Rキー(回転のリセット)
実行すると選択したオブジェクトの位置と回転がリセットされ、体の後方にまとまって配置されます。
リセットされると、プロパティシェルフの[位置]と[回転]が全て[0.0]になります。
次に、先ほど選択しなかった EL_DEF のメッシュオブジェクトも Shift + 左クリック して複数選択に含めます。
この状態で、3Dビュー上で以下のショートカットキーを実行します。
・Sキー -> 0キー -> .(ドッと)キー -> 0キー -> 1キー -> Enterキー(拡大縮小を 0.01 倍)
・Rキー -> Xキー -> 9キー -> 0キー -> Enterキー(X軸方向で90度回転)
すると、以下のように顔のメッシュオブジェクトが体のメッシュオブジェクトにピッタリ重なります。
アーマチュアへの関連付けとトランスフォームの適用
顔のメッシュオブジェクトをアーマチュアオブジェクトに関連付けます。
[Character1_Reference]のアーマチュアオブジェクトを Shift + 左クリック して複数選択に含めます。
この時点で、全ての顔のメッシュオブジェクトとアーマチュアオブジェクトが複数選択され、アーマチュアオブジェクトがアクティブな状態になっていることを確認してください。
この状態で Ctrl + Pキー で[ペアレント対象]ウィンドウを開き、[アーマチュア変形]を選択します。
これでメッシュオブジェクトとアーマチュアオブジェクトが関連付けられました。
最後にこの状態の[回転]と[拡大縮小]を適用してデフォルトとします。
アーマチュアと顔以外のオブジェクトも含めた全てのメッシュオブジェクトを複数選択します。
[3Dビュー]のメニューから オブジェクト -> 適用 -> 回転と拡縮 を選択して[回転]と[拡大縮小]の変更を適用します。
これで[回転]と[拡大縮小]が適用されました。
適用されると、プロパティシェルフの[回転]が全て[0.0]、[拡大縮小]は全て[1.0]になります。
長くなったので記事を分けます。
次はテクスチャの表示とウェイト設定です。
bluebirdofoz.hatenablog.com