poi’s tech blog

3D多人数同時接続型球体アクション成人向けゲーム開発のためのアイデア、ナレッジ

BlenderのシェイプキーがUnityで表示されない

Unityで取り込んだFBXモデルのシェイプキーが出てこないのでググった。

どうやらモディファイア適用前のモデルだとFBXで取り込んだ時にシェイプキーが消えるらしい。

f:id:poipoipoip:20190224225843p:plain
Bodyという名前のメッシュに複数の表情用シェイプキーを設定していて、本来このようにSkinned Mesh RendererコンポーネントのBlendShapesにそれぞれ表示されるはずだった。

Blenderのモディファイア一覧を見ると、Mirrorモディファイア未適用のままだった。

そのまま適用しようとすると以下のエラーが出て適用できない。

モディファイアーはシェイプキーのあるメッシュには適用できません

詰んだ?

解決策

以下のサイトの「Apply Modifier」アドオンを使うとシェイプキーのあるメッシュにもモディファイアが適用できるようになる。

sites.google.com

MirrorとArmatureモディファイア付けたままだったからか、このアドオン使うと表情シェイプキーの挙動がかなりやばげな感じになる…ぐぬぬ

2/24追記 無理やりモディファイア適用したからだと勘違いしてたけど、単に最新のモデルのシェイプキーがバグって表情アニメーションで顔面崩壊してた。バックアップ取っててマジ助かった。。。

無事Unityでシェイプキー動かすことに成功。

モディファイア未適用状態も便利だしFBX出力するときだけ3D View -> Ctrl + Aで適用メニュー表示 -> Apply All Modifierすることにする。

2/26 追記
Armatureモディファイアを適用するとボーンにモデルが追従しなくなるのでArmatureモディファイアだけは残すこと!
T押してトランスフォームパネルを出した後3D View -> Ctrl + Aで適用メニュー表示 -> Apply Selected Modifierで適用したいモディファイアをトランスフォームパネルから選ぶ