3Dアニメーション処理の学習まとめ~その3
※本ページはUnityエディタ2021.3.5f1バージョンにて確認しています。
以下のアセットを利用したUnityによる3Dアニメーション処理の学習コースをまとめます。Unity Learnにおいては2.1章からのまとめになります。
Unityにおける3Dnimator機能の学習まとめ。章を改め2.1からのまとめとなります。
最初に
まずはProjectから2.1 - Animation Window Features and Settings>Scenes>と辿り、StreetLampExampleを開いく。試しにRunして暗いシーンに街頭が点滅するアニメーションが描写されるのを確認できればOKだ。
同様にAnimationClipsフォルダからLightFlickerをダブルクリックで開く。AnimationClip編集ウィンドウが開き内容を確認すると、ここでは
Spot LightのLight.Intensityの値が0と5を繰り返すアニメーション
になっている事が今までの学習から理解できるはずだ。Curvesモードにするとよりはっきり確認できる。ここでは滑らかな変化でなくパルスのOn/Offで指定されている事が確認される。
※Assetとして表示、あるいはContextとしてとして表示
今度は同じフォルダからHumanoidCrouchクリップを開いてみましょう。▼クリックで折りたたまれているリストを表示させるとこれには幾つかのサブクリップが含まれている事が解ります。中から例えばHumanoidCrouchWalkをダブルクリックして開いてみてください。これはReadOnlyとなっていて現状では編集できません。
※そこでCtrl+Dで複製しろとあるがどーにも出来ないwww
AnimationClipを表示させる場合にはAssetoとして表示するか、Contextとして表示するかの2つがあります。例えばまず同じフォルダからLightFlickerをダブルクリックしてAnimationClipウィンドウに表示します。この時にはAddPropertyがクリック出来ない=アニメーション編集ができない状態になっています。
続けて今度はHierarchyからSpotLightをクリックするとScene画面にGizmoが表示されると同時に先ほど使えなかったAdd Propertyが使えるようになっている事に気付きますか?この状態をContextとしてAnimationClipを表示すると言い、この状態でやっと各Propertに編集操作も可能となるのです。
AnimationClipウィンドウの操作方法
それではAnimationClipウィンドウの操作方法を学習して行こう。開き方は先ほど説明したので割愛して、以下の様にLightFlickerアニメーションClipが編集可能な状態を操作してみて欲しい。
そしてこのウィンドウだが、大きく2つに分けられ
- 左側にBind対象
- 右側に値の変化グラフ
が表示される。上記サンプルでは1つしかBind値が表示されていないがここには通常複数のBindが並び、右側にも複数のカーブが描画されるのがこの編集ウィンドウだ。
キーフレーム
各Bind値にはグラフ全ての数値が記録されているワケではなく、Keyと呼ばれる位置の数値データを基本単位として管理されており、これをキーフレームと呼ぶ。具体的には右側のグラフにおける◆の各ポイントだ。
DopesheetモードとCurvesモード
この2つのモード切替方法はすでに学習したはずだが、適宜使いやすいモードでアニメーションの編集を行う。全体の描画タイムラインを調整するにはDopesheetモードが適切であり、特定タイミングのアニメーション変化カーブを調整したい場合にはCurvesモードを利用する。(Curvesモードにのみ頂点編集機能であるヴェジェ曲線UIが使える)
タイムラインとFPSの変更
タイムラインは共通のUIでありアニメーション時刻を『秒あるいはフレーム』単位で表示している。表示方式を切り替えるにはウィンドウの右の方にある『・・・』部をクリックして表示されるPopupウィンドウからだ。(わかりづらい) またマウスホイールでタイムラインのスケールを変更することも出来るし、この時刻も合わせて可変する。
さてアニメーションFPS速度の変更方法だ。解りづらいのでまずは先に説明したやり方でFrame表示モードになっているか確認してほしい。そして画面左側上部を見ると60の数字が確認できるかな?(これも先ほどのPopupメニューでShowSampleRateにチェックが入っていないと表示されないので注意) この数字は現在1秒あたり60Frameでアニメーション描写速度が設定されていると云うことだ。これを30に変更すれば良い。
AnimationClipウィンドウのツールバー その1
この部分に編集ウィンドウのツールが集約されている。また先にも説明した通りContextモードでないと利用できないしAssetモードだと一部しか利用できない。
まずはPreviewモード。トグルスイッチになっており、タイムラインなどで青色に描画が変化する事が確認できるだろうか。(後述のRecモードと対になる機能だが使うシーンはあまり無い印象)
Recモード。赤い◎ボタンで世界共通のアイコンだな、アニメーション録画を行うボタンだと理解して良い。前述のPreviewに対して本番編集モードであり、この状態でのオブジェクトの操作はタイムラインに直接記録されて行くモードである。
残るのがこれも共通アイコンなアニメーションの再生ボタン。想像の通りそれぞれ『頭出し、逆送り、再生、早送り、ケツ出し』のボタンだ。タイムラインの時刻ラベル部分クリックで直接移動も出来る。
あとは右端の数字は現在表示しているフレーム数だ。
AnimationClipウィンドウのツールバー その2
LightFlicker▼と表示されている段のツールバー。これを順に説明してゆく。
まず新たにClipを追加する方法だが、LightFlicker▼からCreate New Clipをクリックする。このリストボックスはAssetに記録されているClipを切り替えるUIでもある。
次にSamplesの横にある十字照星のアイコンであるがアニメーションCurveのフィルタリング機能だ。サンプルの単純なケースでは一つしか無いので有用味は無いが、複数のClipが保存されている場合に、このアイコンをOnにした状態でHierarchyで対応するオブジェクトを選択するとそのClipに関するCurveのみをフィルタ表示する事が出来る。
残った2つのアイコンはそれぞれキーフレームの追加とアニメーションイベントの追加ショートカットだ。
キーフレームの追加は現在再生している刻限にKeyを追加する。◆が縦棒カーソルの部分に生成されるのを確認してほしい。なおアニメーションイベントでは別章にて説明するのでここでの詳細は割愛する。
以上でアニメーションクリップ編集ウィンドウの説明まとめとする。正直ツールとしては最低限しか用意されておらぬ貧弱な機能であるが公式が提供するツールなので最低限の理解は必要であろう。
なおUnityにおけるアニメーションツールは外部ツールやAssetで作成する方が効率的であり以下のツールやAssetを参考にされたい。なお3Dモデリングの用意はblenderなどが有用であるしblender内でアニメーション制作までも可能な時代でもある。
※2Dアニメーションツール
※3Dキャラクターアニメーションの定番アセット
※オブジェト単体アニメーション操作定番アセット(Scripting用)