前回、Unityにうまく取り込めなかったのは、どうやらボーンのサイズとモデルのサイズがあっていなかったのが原因だったかもしれない。
Blender上ではユニットという概念を知らずにモデリングしていた。
Blenderのユニットは、ポリゴンの大きさの単位のことだ。
今日、ユニットの表示方法を変える方法を知り、デフォルトのユニットから、メートル法で表示してみたら、なんとモデルの身長が40メートルという大きさで作っていた。
進撃の巨人かと。
インポートした既成のボーンの大きさとサイズが合わなかったから、オブジェクトモードで縮小してリギングしていたのが原因のようだ。
オブジェクトの拡縮では、座標系のリサイズが行われるだけで、ポリゴン自体の実サイズは変わらないようだ。
ポリゴンをひとつずつリサイズするなんて無理なので、いったん縮小してエクスポートし、すぐにまたインポートしてサイズを調整した。
もっといいやり方あったら教えてください。
結局リギングも最初からやり直した。
おかげでゲーム作成に必要な程度には、リギングのことを理解できたと思う。
可動範囲の制限などをつけてリギングした結果が冒頭の画像である。
Unityにも無事に取り込めた。
キャラクターコントローラで動かせるようにもなった。
ちなみにデモはここから見れます。(カーソルでキャラが動くだけのしょうもないデモです)
今回手付けしたモーションは待機動作と歩きのみ。一応歩くときはモンローウォーク的な動作にしてみたぞ。
しかし、まだまだ、モーションの手付けは修行が必要だ。
明日からはサンプルプロジェクトの解体作業に戻ろうと思う。