Blender to Unity Part2 ~Unityへのインポートで困った話~
はじめに
こちらの記事は広島大学ITエンジニアアドベントカレンダー2019の21日目です。
Cammelでは現在iOS、Android向けのゲームを制作していて、 私はシェーダー周りやアニメーション処理を担当しています。
今回はBlenderで作ったモデルのアニメーションをインポートする際に困った話をします。
モデルのインポートについては Blender to Unity Part1で簡単に紹介しています。
環境について
作業環境は以下の通りです。
- Unity : 2018.3.8f1
- Blender : ver 2.8
BlenderでFBX形式でエクスポート
まずメンバーがBlenderで作ってくれたアニメーションをUnityにインポートします。1つのモデルに対して複数のアニメーションを使うのでアニメーションごとにFBXファイルを分けてもらいました。 エクスポートの設定は以下のように指定します。
Unityへアニメーションをインポート
今回のように1つのモデルに対して複数のアニメーションをインポートする際 ファイル名を以下の形式にすることで自動でモデルのアーマチュアがアタッチされるようです。
[model_name]@[animation_name].fbx
モデルがなんかおかしい...!?!?
早速FBXをインポートすると...
アニメーションは動いてくれましたが、Blenderでのモデルでは明らかにないはずの変な線がついています。ただマテリアルがはげているというわけでもなさそうです。
いろいろ見てみると...
Blenderでは問題なく表示されているはずのメッシュがぺちゃんこになっていました。
Blendファイルに戻り、オブジェクトモードのクリアオプションでコマの位置や拡大縮小をクリアしてみるとぺちゃんこモデルが現れました...!!
Apply(適応)オプションで位置、拡大縮小の変換を適応してからFBXを再度Unityにインポートしてみました!
まとめ
今回の不具合の解決に2日ほど時間を溶かしてしまいました。
Blenderで作成したモデルを扱うときは注意が必要ですね...
やったこと
- Blenderで作成したモデルとアニメーションをUnityにインポート
わかったこと
- 何かが変だったらクリアオプションや適応オプションで確認してみる
次やりたいこと
- アニメーションのUnityでの処理について書きたいです