【Skele】 Unity内でキャラクターアニメーションを作る
こんにちは!暑いですね!禿げそうです!
さて、最近Asset Storeでいい感じの3Dモデルがあったので買ってみたんですが、使ってるうちにどうしても欲しいアニメーションが出来てしまい、何とかならんのかーという感じの悶々とした一ヶ月を過ごしていました(長い)。
MayaやBlenderなんかの3DCGソフトが使えれば自作出来そうなんですが、あいにくさっぱり。(๑◔‿◔๑)ペケー
どうにかならんのかー!と半ギレ状態で一ヶ月を(以下略。
で、なんとUnityエディタ内でアニメーションが作れるアセットを発見!
まともに使い方を調べもせずに購入。
しかしまさにやりたいことが実現できた!!!( ゚д゚)スゲー
この感動(?)を誰かに伝えられたらと思い、記事にします。
===================
この記事を書いた時のバージョン(Mac)
・Unity PersonalEdition 5.1.1f1
・Skele 1.8.2 f1
===================
まず、このアセットは有料です。現在4,000円ほど。
「Skele: Character Animation Tools」 - $32 (2015/8/2現在)
これを使って欲しかった攻撃モーションを作りました。
参考までに、こんなん。
使い方は簡単。
①まずはSkeleをプロジェクトにインポート。
②そしてアニメーションを作りたいモデルの、「Skinned Mesh Renderer」がアタッチされているオブジェクトを選択。
(*ユニティちゃんなんかの複数のメッシュで作られてるモデルの場合、どれを選択したらいいかについては後述。)
③そうすると、Skeleインポート前にはなかった「Start Edit」というボタンが表示されているので、それをクリック。
シーン画面に編集用パネルが表示され、選択したモデルのボーンが現れます。
④そしたらジョイント部分を選択して、移動、回転、拡大・縮小ツールを使いながらアニメーションを作っていく、といった流れになります。
実際に作ってる様子はこんな感じ。
(両手を開きつつ前にジャンプする謎アニメーション)
*もっと詳細な使い方について
・Humanoid型のモデルは直接編集できません。(Unityの仕様上無理っぽい)
なので、一旦LegacyかGeneric型のモデルに変えてからアニメーションをつくり、そのアニメーションをHumanoid型に変えてからモデルに適用させてあげる必要があります。
変換は、「Windowメニュー」→「Skele」から、
Humanoid型からLegacy/Generic型なら、「Muscle Clip Converter」を選択。
Legacy/Generic型からHumanoid型なら、「DAE Exporter」を選択。
・移動、回転、拡大・縮小ツールは、それぞれW, E, Rキーで切り替えできます。
エディター左上のツールからは変更できないので注意。
・編集は、FKモードとIKモードを使い分けて行うのがベストです。
FKとはフォワード・キネマティクスの略で、ジョイントを一部一部選択して動かしていく編集方法です。(上のGIFではFKモードで編集してます)
それに対して、IKとはインバース・キネマティクスの略で、例えば手の指をボタンの上に動かしたとき、その動きに応じて手首や肘、肩のジョイントが動きを計算して自動で移動や回転を行ってくれる編集方法です。
根っこから先っぽまで一つ一つ移動させるのか、先っぽから一気に移動させるのか、みたいな違い?
(一見IKの方が簡単そうですが、自動で計算するので、よく変な動きをします。関節が逆に曲がったりとか)
この違いは実際に使ってみれば直感的にわかると思いますので、今わからなくても問題ないです。
FK、IKの使い分けは、シーンビュー右下の編集パネルに表示されているボタンを押せば切り替えることができます。
・編集パネルについて(自分がよく使うやつだけ紹介・・・)
〜FKモード〜
「R」ボタン・・・モデルのプレハブのポーズにリセット。
「G」ボタン・・・ポーズを保存・読み込むポーズマネージャーを開く。保存したいジョイントの範囲を選択する必要がある。
「B」ボタン・・・隠れているボーンを表示させる。
(*ユニティちゃんなんかの場合、複数のメッシュがあり、それぞれ表示されるボーンが違います。たとえば、上着のメッシュなら胴体のボーンが表示されたり。なので、この「B」ボタンを押してその他のボーンを表示させる必要があります。が、それでもすべてのボーンが表示されないメッシュもあるので、適当なメッシュを探す必要があります。逆に、足だけモーションをつけたい場合なんかは、足のメッシュだけを選択してあげれば編集が楽です。)
〜IKモード〜
「Pin」ボタン・・・選択したジョイントのポジションを固定させる。
「Flip」ボタン・・・骨が折れる。(関節が謎方向に曲がる)
「IKPlane」ボタン・・・移動を平面上に制限することができる。
「+」、「ー」ボタン・・・ジョイントの選択範囲を増減させる。よく使う。
さらに、IKモードでジョイントが3つ表示されている状態だと、シーンビュー左下に、「C」と「S」のボタンが表示されます。
「C」ボタン・・・関節の曲がる方向を設定できる。これで関節が逆に曲がらないようにできる。
「S」ボタン・・・ストレッチボタン。関節を伸ばす。
あとの詳しい説明は、公式のチュートリアルを参照してください。
本当にびっくりなんですが、このアセットはチュートリアルが非常に豊富!
ここで下手な説明をされてもわけわかんねーよって方はすぐにGO!!ヽ( ゚∀゚)ノ┌┛)`Д゚)・;'
以上で簡単な使い方の説明は終わりです。
このほかにも便利な機能がたくさんあり、頻繁にアップデートも行われているので、一度上の公式HPを覗いてみることをお勧めします。
あと、自分でも適当に説明してる感があるので、わからない点なんかは質問お待ちしています。自分がわかってればお答えできます・・・(;´༎ຶД༎ຶ`)
それではLet's Unity!頑張りましょい!(๑•̀ㅂ•́)و✧