2Dゲーム向けアセット、Uni2Dの使い方について(2)
Uni2Dの使い方について(1)
http://terasur.blog.fc2.com/blog-entry-540.html
ところで昨日はスプライトアニメーションの説明をすると言ったな?
あれは嘘だ。
ということで
Uni2Dの使い方について、その2、今回はSkeletal Animationについての説明について。
Skeletal Animationが何なのかと言うと、要するに、ボーンアニメーションで、今回の場合はテクスチャを変形させたり動かしたりする技術となる。
昨日の記事の冒頭のムービーでテクスチャを動かしていたアレだ。
自分でも作ってみたデモ。立ち絵の頭とおっぱいを揺らしてみた。
デモその2(画面を綺麗にした)
ちなみにチュートリアルムービー。こっちのほうが分かりやすいかも
■ボーンを設定して動かす
まずはテクスチャをインポートして、ボーンを設定する。その前にテクスチャのモードはGrid、しかも出来る限り細かく設定しておくと良い。
ボーンを設定するには、Skeltal Animation Editorを開いて、Posingボタンを押す。するとポインタが赤丸になる。後は始点からD&Dでボーンを配置出来る。
ちなみに消す場合は右クリックで消せる。また外側の枠(薄いピンク)の部分で一度配置したボーンを動かせる。
ボーンを動かすには、Skeletal Animation EditorのAnimationを選択、先ほど設定したボーンが三角になるので、その三角を選択し左右に動かすだけ。
上手くいけば、テクスチャを動かすことが出来る。
■影響範囲の設定
上記の方法だとパネル全体を歪ませてしまう為、若干顔が歪んでしまう。なので、ボーンの形を広げて影響範囲をうまい具合に設定する必要がある。
囲うには、上記と同様にボーンを伸ばす。ボーンは関節を増やすだけでなく根っこも増やすことが出来るので、それでうまい感じに囲う。
この辺りは職人芸の域なので、素人平民な自分には難しい。
図で説明すると、顎と肩の周りにボーンを配置、各々が動く際にボーンの先にあるパネルも一緒に動かすようにした。これで少なくとも首を動かした際に目が潰れるといった問題は回避出来る。
また範囲を動かすことが出来るので、主に胸等を動かす場合は胸を囲って動かす感じで行けると思う。ただ柔らかさが減るので、凄く調整する必要がありそうだ。
色々弄ってて思ったが、ボーンは輪郭線をなぞるよりも「どう動かしたいか」で配置すると良いみたいだ。例えば胸の場合、上を変形させるのではなく下を持ち上げるといった具合。
自分は一体なにをやっているのだろうか・・・
ちなみに、実際に使う場合は「顔」「目」「瞼・白目」や「髪」「体」「胸」「肩」「腕」等いくつかのパーツにわけて管理すると、各々への影響が少なく無理なくダイナミックに動かせる・・・と思う。
■アニメーションとして登録
最後は上で設定したモーションをアニメーションとして登録する。といっても全く難しい事は無く、UnityのAnimationで角度を登録してしまうだけ。
と、言うのは簡単だが、一番この手順が面倒くさい。まず初期ポーズと終了ポーズを決める訳だが、ボーンが大量にある為にtransformが大量にあり、非常に管理が面倒くさい。
また、undoが上手く機能しない事があったりと、非常に神経を使う作業になりそうだ。
とりあえずgit等で常にバージョンを管理しながら作業を進めるお勧め。
しかし、やってみて分かったがコレはセンスが要る。
だがミクさんの髪やスカート動かすのは相当楽しそうだ。
また、絵が一枚である程度のモーションを表現出来るので、テクスチャの枚数も減らせそうだ。
ちなみに、こと「人間を動かす」場合はLive2Dという上位互換がある。こちらは最初から人を動かすこと相当なので、割とスムーズに人を動かすことが出来る。
Unityへ組み込めるアセットもありインディー向けに無料提供する予定との事なので、無料になったら特集してみたい。(アニメーションを作るエディタは別売り有料で大体14万くらい…だったかな)
Live2d
http://www.live2d.com/
また似た技術でモーションポートレートなる物もある。