本日は Blender と Unity とユニティちゃんの調査枠です。
前回記事の続きです。
bluebirdofoz.hatenablog.com
今回からは Blender で読み込んだユニティちゃんを Unity に取り込む手順を記事にします。
これらの手順でユニティちゃんを Blender で編集して Unity に再反映するといったことができます。
Unityに取り込むと発生する問題
前回記事までに作成したユニティちゃんをそのまま FBX に出力して Unity に取り込みます。
すると、以下の問題が発生します。
ボーンの位置がズレる
画像だと分かり辛いかもしれませんが、取り込んだ際に胸部やスカートなどの位置が少しズレています。
ユニティちゃんのアニメーションが正常に再生できない
Humanoid リグを反映した後、ユニティちゃんのアニメーションを試すと、髪やスカートが荒ぶります。
ボーンの位置がズレる問題の修正
ボーンの位置がズレる問題はアーマチュアオブジェクトの[回転]と[拡大縮小]を適用した際の位置ズレが原因です。
例えば、胸部ボーンを確認すると[位置]情報が僅かにズレていることが分かります。
[位置]情報を現在の位置で適用し、現在のポーズをデフォルトのポーズとすることで問題は解消できます。
まずはアーマチュアを選択し、[オブジェクトモード]に切り替えます。
メニューから オブジェクト -> 適用 -> 位置 を実行します。
次にポーズオブジェクトを選択し、[ポーズモード]に切り替えます。
メニューから ポーズ -> 適用 -> デフォルトのポーズに適用 を実行します。
現在のポーズのまま、ボーンの[位置]情報が[0.0]にリセットされます。
これでデフォルトのポーズで発生するズレを修正できました。
アニメーションが正常に再生できない問題の修正
これはユニティちゃんのアニメーションを利用すると、同じボーン名のボーンが干渉することが原因です。
ユニティちゃんのアニメーションを利用する場合、Humanoid リグ以外のボーンは名前を変更する必要があります。
[J_***]という名前のボーンが対象です。
これらのボーンについて全て名前の[J_]の部分を削除するなど、ボーン名を変更します。
ネストの下のものも確認して名前を修正します。
念のため、[ポーズモード]でボーンを動かして関連付けに問題が発生していないか確認します。
モデルをFBX形式でエクスポート
これで Blender での編集作業は完了です。
メニューから ファイル -> エクスポート -> FBX(.fbx) を選択します。
出力対象に[アーマチュア]と[メッシュ]を選択して[FBXをエクスポート]を実行します。
記事が長くなったので分けます。
次回は Unity の取り込み設定です。
bluebirdofoz.hatenablog.com