AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

Blenderでmmd4mecanimで変換したFBXを読む

BlenderはV2.78です。
Unity上で変換されたFBXは、Projectファイル内にありますので、これをBlenderにImportします
このVerではFBXは公式サポートになっています。
「asciiは読めない」みたいなエラーが出ます。FBXがASCIIテキストになっていて、読めないそうです(´・ω・`)
バイナリーのFBXに変換します。(メタセコでやりましたが、お試しライセンスが切れたらできない。Autodesk系の変換ツールを探します)
Blenderで読めました。
ボーンがとげとげになっていて変です。
f:id:yasu9780:20161114033443p:plain
http://qcganime.web.fc2.com/UNITYCHAN/UnityChan01.html
こちらの記事を読むとボーンの向きがおかしくなるらしい。

しかし、この状態で Blender 上でポーズをとったり、
ポーズをとった状態で出力して Unity で読みこんでも大丈夫なようなので

とりあえずボーンの向きは気にしないでいいようなのでスルーします。
読み込んだfbxは別ファイルのテクスチャーを参照するタイプだったので、テクスチャが無い状態になっています。
マテリアルは設定されているので、blender上で、マテリアルに対して、それぞれ対応するテクスチャを指定していきます。
すべてUV展開で色に反映するテクスチャーですが、デフォルトでそのまま行けます。
すべてテクスチャを指定すると、レンダリングで反映されました。
f:id:yasu9780:20161114033453p:plain
テクスチャを張ったFBXを別ファイル名でexportしてUnityに戻してみましょう。
なお、BlenderのテクスチャはFBX内にパックできるので、テクスチャのプロパティ画面ですべてパックしておきます。

Unityで読み込みます。シェーダーがStandarShaderになっていたので、すべてToon/Basicに変更します。
f:id:yasu9780:20161114033457p:plain
なぜかボーンの階層がなくなってフラットになっています(´・ω・`)
大丈夫なの?

とりあえず、MecanimのHumanoidに変換してみます。
問題なくOKでした。

次にAnimatorで既存のhumanoidアニメを適用してみます。
きちんとポーズをとれているようです。
blender上でボーンがすごいことになっていましたが、大丈夫そう。
f:id:yasu9780:20161114034637p:plain

というわけで、UnityからFBXの書き出し、Blenderで修正、再度UnityでFBXの読み込みの流れができそうです。
Blenderで服を新規に作ってみたり、髪型を変えてみたりできるといいな~


BlenderからUnityにインポートした状態のfbxはバイナリーです。
mmd2mecanimがテキストのfbxを作る仕様のようです。


AsciiのFBXをBinaryにするのはこれで行けるようです
Autodesk - Autodesk FBX - FBX® 2013.3 Converter


BlenderからUnityにテクスチャ付きオブジェクトを渡す - おもちゃラボ
↑パックしないでも、BlenderからUnityにFBXをインポートするときにテクスチャファイルも同時にドラッグ&ドロップすればできるらしい
逆にUnityからBlenderに持っていくときにtextureが剥がれない方法が知りたいなあ。