今日も、 PoserPro 2014 Game Dev と Unity で遊んでみた。
今回は、Animator Controllerというサンプルをベースに作ってみた。
Animator Controller.unityっていうやつ。Asset StoreのMecanim Example Scenesに入ってるサンプルだ。
前回は「自動で動く」っていうスクリプトを入れたけど、今回は「自分で操縦する」スクリプトを入れてみた。
インポートしたキャラクターが全部同じ動きをするのだが、足の短い奴はちゃんとスピードが遅くなってて感心した。
PoserでFBXエクスポート
UnityのAssets→Import New AssetでFBXファイルをインポート

画面下のProjectのところに、インポートしたデータが表示されるので・・・

シーン上にドラッグ&ドロップ

画面右上、Inspetorの「Select」ボタンをクリック

「Rig」ボタンをクリックして、Animation TypeをHumanoidに変更
Applyボタンをクリック(忘れがち!)

画面左上のHierarchyで、今インポートしたデータを選択状態にして・・・

画面右のInspectorの「Add Component」をクリック

「Character Controller」と「Idle Run Jump」を追加。
(検索窓に単語の一部を入れると、探しやすい)

こんなふうに追加された。

AnimaterのControllerの入力欄右の「◎」をクリック

「Layer」を選ぶ。

シーンにはワイヤーフレーム表示で緑の「カプセル状のもの」が表示されている。こいつがキャラの当たり判定に使われるもの(たぶん)
半分地面にめり込んでいて、このままだと地面を突き抜けてストーン!と下に落ちる。

Character ControllerのCenterのYを「1」に変更
さらに、緑カプセルのとこに表示されてる三色矢印のうち緑の矢印をちょいと上にドラッグして、カプセルの位置を床より上にする。

これで、「再生ボタン」クリックすると、自分の操作でキャラが動かせる。
さらにタグを「Player」にすると、自分のキャラとして動かせる。

Poserフィギュアには、操作しやすくするために、ポリゴンの「ハンドル」が存在することがある。こいつを非表示にしてからエクスポートしないと、ハンドルがそのままUnityに持ち込まれてしまう。
フィギュアに服を着せた状態で、一体化(=Combile Figure)しないでインポートすると、服は変形しないアイテムみたいな扱いで取り込まれる。手に持った銃などはこれでいいのだが・・・
元のテクスチャに対して、マテリアルのDiffuseを無理やりいじって色を変えている場合、エクスポート時に想定と違う色になってしまう。
▲Diffuse_Colorを白以外にしている場合
FBXエクスポート時に「Bake diffuse color into diffuse texture」(diffuseカラーをdiffuseテクスチャに焼き付ける)にチェックを入れよう。

複数テクスチャを一つにまとめてくれるオプションにチェックを入れよう。
「Compile texture atlas」だ。

んー、今日はそんなとこ。
そのうち、キャラクターの一部に物理属性(揺れる髪など)をつけるやり方も覚えたいなと思いつつ、今回の覚書を終わる。
関連:
Poser Pro 2014 Game Dev ファーストインプレッション
Poser 10 / Poser Pro 2014 購入方法