simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

Unity:Blender連携によるスキンメッシュアニメーションとシェイプキーのインポート

Unity と Blender を連携させて、Blender で編集したら即時スキンメッシュアニメーションとシェイプキーが反映されるシーン再生を確認しました。
具体的な手順を以下に記録します。

f:id:simplestar_tech:20181113162722g:plain

■前置き
ゲームは芸術と科学の結晶です。
そのため、プログラムを書くだけでは完成しないゲームがほとんどです。

個人でゲーム開発するにはモデリングもリギングもアニメーションも行えなければいけません。
ゲーム開発はより民主化していくので、センスが無くても手順だけ覚えます。

そういえば最近 Unity によるゲーム開発の民主化について記事を書いたな


Blender
世界一有名な完全無料で3Dメッシュを自在に編集して、映像制作を行える3Dアセット編集ソフト
https://www.blender.org/
仕事では Maya を使うことが多いですが、お金ない時代に Blender に慣れてしまったので、個人の開発では今後も Blender を使っていきます。

最近は Maya から Blender に切り替える職場も多いとか
FBX 形式での入出力機能を持つので Unity のアセット編集によく使われます。

■Unity は公式で Blender と連携する機能を提供している

Unity - マニュアル: Blender からのオブジェクトのインポート

次の要件だけ注意(チームで開発する場合は、全員の環境に Blender 2.60 以降のインストールが必要)

Blender 2.60 以降が必要です (過去バージョンの Blender では FBX エクスポートが変更または破損している場合があります)。
テクスチャとデフューズカラーは自動的に割り当てられません。Unity のシーン内でテクスチャをメッシュにドラッグして、手動で割り当てます。

■環境情報

Unity 2019.1.0a8
Blender 2.79b

Blender を起動して .blend ファイルとして Assets 以下に保存

ちょっと突き放してしまいますが Blender のインタフェースは一朝一夕では扱えませんので次のような入門記事を読んで覚えてから
https://blender-cg.net

複数の名前付きスキンメッシュアニメーションと
複数のシェイプキーを作成し
これを Unity の Assets 以下に .blend 形式で保存します。

Blender の Timeline の再生ボタンを押した時の様子
f:id:simplestar_tech:20181113164832g:plain

■Unity を起動し .blend ファイルを置いたフォルダを確認

環境に Blender さえインストールされていれば、.blend ファイルをそのまま fbx ファイルとしてUnityは扱ってくれます。
f:id:simplestar_tech:20181113170834g:plain

Blender のドープシートにて複数のアクションを定義して様々なアニメを作成すると、すぐにこれを反映してUnityにて新しいアニメーションを扱うことができるようになりました。
シェイプキーのアニメーションは、シーンに配置したオブジェクトの Skinned Mesh Renderer コンポーネントの BlendShapes を確認すると、そこにシェイプキーの名前で 0~100 のスライダーが現れます。
これをプログラムやエディターで制御してシェイプ(基本的な使い方は Facial のモーフ)を使います。

確認手順については以上です。

Unity で Animation を再生する方法がわからない方は、2年前に書いた次の記事が役立つかもしれません。
simplestar-tech.hatenablog.com


クォリティを上げていく前に、まずは一通りの動作を確認する、大事ですよね。
示した手順が役に立つとうれしいです。
ここから魅力的なキャラクターやモーションなどを Blender で作れるとなお良いですね。