3Dアニメーション処理の学習まとめ~その1
※本ページはUnityエディタ2021.3.4f1バージョンにて確認しています。
以下のアセットを利用したUnityによる3Dアニメーション処理の学習コースをまとめます。
2DによるAnimatorやClipの作成はひととおり学習したが3Dにおいても学習コースが用意されているので復習と応用がてらまとめる事にした。すなわち本学習コースは映像制作を学ぶ為に用意されているワケではないので注意を。また中級者向け以上の内容なので初心者の方にはお帰り戴く方が宜しいかと。よろしければ以下概要まとめ。
今回は1のアニメーションシステムの紹介から行ってみる。なお3DRUPテンプレートを利用した前提で冒頭に掲げた公式アセットおよびUnity Learnに準じたまとめであり、これらの知識がありかつプロジェクトは自前で用意できるのが前提条件とする。
Animation Clipについて
UnityにおけるアニメーションデータはClipと呼ばれるAssetとして保存管理されます。単純なPosition移動を繰り返す物から複雑な人体モーションのアニメーションまで様々な作成可能であり、それぞれを記録した単位がClipと言うことです。
Clipは2つの要素から構成されており、
※Value(値)
通常アニメーションカーブで記録され(常にではない)、オブジェクトがどのように変化するかの情報が記録されます。
上記のValueをオブジェうとまたはコンポーネントに特定のフィールドに接続する方法を別個に記録しており以下の2つの要素で構成されます。
・Hieracheyを経由したオブジェクトのTransformへのパス
・その変換コンポーネントからの特定フィールドへのパス
値とバインディングには一対一の関係があり、1つのアニメーションClipには複数の場インド値を含める事が出来ます。
Animation Clipエディタについて
メニューからWindows>Animation>Animation>とたどるとAnimation Clipウィンドウが表示されます。Projectウィンドウから1.2-Core Concepts Animation DataフォルダにおかれたCircleアニメーションクリップをダブルクリップで開いてください。
そしてAnimationClipウィンドウが開かれて小さくて解りづらいですがウィンドウの左の上の方にCircleとドロップダウンリストが表示されている事が解りますか。このウィンドウの使い方を学ぶのが第一歩です。
CircleClipには現在Positionのアニメデータしか定義されていませんが、これを▼クリックで開いてみましょう。X-Y-Zの詳細値が表示されましたか。続いて画面右側に着目します。デフォルトのままであれば上記の様に時間軸が刻まれ◆が一定間隔に縦3つ並んだグラフ状の表が確認できるはずです。
ここでAnimation Clipウィンドウの左下にあるDopesheetとCurvesに着目し、現在はDopesheet表示モードでありこれをCurvesに切り替えてみてください。
CTRL+Aキーを押してからFキーを押すと以下の様にCurveがきれいに表示されたかと思いますが、要するにこれがオブジェクトのX,Y座標を滑らかに遷移させるアニメーションを記録している結果だと言う事です。
またこのCurveはベジェ曲線として記録されていますので頂点を編集できますが、その操作の説明はここでは割愛。いま重要なのはこのサンプルアニメーションが80フレームで構成されており例えば40フレーム目ではPositionYの値が0から始まり3まで達するCurveで表現されている&そこからまた0に向かって減って行くアニメーションを記録しておりX座標も同様だと言うことです。
Unityにおいてアニメーションを作ると言う行為はすべて今の説明が基礎となります。すなわち、バインド指定されたオブジェクトの値を都度記録し、変化をグラフとして記録した物をClipと呼び、これらを複数組み合わせて複雑なアニメーションが完成されてゆくと言うことです。
今回は概念的な説明の入り口となりますので詰め込まずにここまでとし次回以降により実践的なアニメーション制作作業の学習に入ります。