Rig」の解説記事です。これまでにセットアップ、リグ操作について紹介してきました。Rigでアニメーションを作成する大まかな流れは以下の通りです。本記事の内容は私たちそらまめゲームスでの制作事例の紹介ですので、AllrightRigの全ての機能を網羅しているわけではありません。良いノウハウがあるよという方は是非ご教示ください!この記事の筆者はプログラマですのでアニメーションに関しては素人です!アニメーターの方からすると見当違いな事を言っているかもしれませんので、その時はご指摘頂けるとありがたいです...。Rigのアニメーションブループリントをレベルに配置します。Rigのオン/オフを切り替えることができます。リグを作成するアニメーションブループリントを選択した状態で、[RigTools]ウィンドウを開く。Rigのアニメーションブループリントを選択する。[Prefix]は接頭詞をつけることができる。Preset]にて作成済みのリグを選択する。上の[Rig]が選択可能になるのでクリックしてリグを生成する。セットアップ済みのリグを適用するリグを削除する生成したリグのルートである、Mainを選択する。上記の操作によって、リグのオン/オフを簡単に切り替えることができます。RigはUE4のシーケンサーを使用してアニメーションを作成します。Premiereのようなビデオ編集ソフトに近いイメージです。シーケンスを作成し、リアルタイムでプレビューするために使用します。Rigでアニメーションを作成する際にはレベルシーケンスを用意する必要があります。ここでは例として一から用意していきます。[右クリック]>[アニメーション]>[レベルシーケンス]を選択してレベルシーケンスアセットを作成します。作成したレベルシーケンスアセットをダブルクリックするとシーケンサーウィンドウが開きます。Play]にチェックを入れておきます。シーケンスエディタにリグセットアップ済みキャラクターを追加する以下の手順で、アニメーションを編集するための準備をします。Rigのアニメーションブループリントをシーケンサーに追加する。アニメーションブループリントを選択した状態で、[RigTools]>[Rig]を選択してリグを生成する。生成された「xxxRig」というアクターをシーケンサーに追加する。生成されたリグのコントローラーを一括でシーケンサーに追加する。コントローラーが多すぎるのでフォルダ機能を使って中に入れておく。Rig]で削除した場合、シーケンサーからも削除されますので、作成途中のアニメーションは消去されてしまいます。中断したい場合はリグごとレベルに残しておくか、一旦アニメーションアセットに書き出して、改めて編集する際にはそのアニメーションアセットをリグにベイクして編集再開することができます。基本的な操作アニメーションを作成する上での基本的な操作を紹介します。キーを打ってみる各種リグを操作するとキャラクターが連動して動きます。シーケンサー上でリグのコントローラーに対してTransformのキーを打つことで、いわゆる手付けアニメーションを作成することができます。Rigのリグにベイクします。これが本記事の主題でもあります。シーケンサーに追加されているアニメーションブループリントに対してアニメーションアセットを設定する。アニメーションをセットしたのにキャラクターに反映されない場合は、アニメーションブループリントのアニムグラフの対応が漏れている可能性があります。コチラをご確認ください。Sequence]を選択して、アニメーションをベイクした状態のリグを生成する。「xxxRig」アクターと、各コントローラーが生成されるので、先ほど同様にシーケンサーに追加する。これでアニメーションを読み込んでリグに適用することができました!アニメーションをベイクした際に目がおかしくなるアニメーションを読み込むと、目の位置がおかしくなってしまうので、これを修正します。EyesController関連の値がおかしいアウトライナ上で、[xxx_EyesControllerGrp]アクターを[xxx_HeadFk]アクターの子にする。視線が顔の動きに追従するようにする。下記アクターのTransformを初期値(すべて0)にする。[xxx_EyesControllerGrp][xxx_EyesController][xxx_LeftEye][xxx_RightEye]下記アクターのアニメーションキーを全て削除する。[xxx_EyesController][xxx_LeftEye][xxx_RightEye][xxx_EyesController]をローカル空間で顔の前側に移動させる。https://soramame-games.com/wp-content/uploads/2019/12/labyrinth-allright3-03.mp4アニメーションアセットに出力するアニメーションの作成/編集が完了したら、アニメーションアセットとして保存することができます。Asset]をクリックして、アニメーションアセットに出力します。Root]にチェックを入れて出力すると、立ち位置が原点から移動しないルートモーション無しのアニメーションとして出力されます。Rigの機能ではなくUE4標準機能を使ってアニメーションアセットの不要なフレームを削除することができます。コンテンツブラウザからアニメーションアセットを開く。画面下部の再生ツールバーの上で右クリックする。右クリックした場所のフレーム数を起点に、削除や挿入のメニューが表示される。狙ったフレームのところで右クリックをしないといけないので、もう少し使い勝手が良くなると嬉しいですね...。RigはアップデートによってDCCツール並の機能が追加されてきました。機能が多いためここでは簡単な紹介だけにさせて頂き、詳細は公式ドキュメントを日本語翻訳して読んでいただければと思います。ConstraintsConstraintsの機能を使用すると、コントローラーの位置、向き、スケールを別のアクターに制御させることができます。Rig同士で手を繋いだり、エイムさせたりといった親子関係をつけるのに役立ちます。Rig公式サイトより引用ただし、小物を手に持たせる程度であれば、シーケンサー標準機能の親子付けを使用することで対応可能です。OffsetはDCCツールでのアニメーションレイヤーの位置付けです。既存のアニメーションを維持しつつ、別レイヤーとしてアニメーションを作成してブレンドすることができます。Rig]>[SequencerTools]を選択してウィンドウを表示する。Offsetを作成したいコントローラーを選択状態にする。Offset]を選択する。元のコントローラーは非表示となり、[xxx_Source]と[xxx_AO]という2つのコントローラーが生成される。[xxx_Source]は元のコントローラーの代わりとして値を引き継いでおり、自動的にシーケンサーに登録されている。[xxx_AO]は別レイヤーのアニメーション用コントローラーで、緑色で表示されている。生成した段階ではシーケンサーに追加されていないので、追加しておく。[xxx_AO]を操作することで、元のアニメーションを[xxx_Source]側に維持しつつ、別レイヤーとしてアニメーションを作成することができる。Offset]を選択する。[xxx_AO]と[xxx_Source]のアニメーションがブレンドされて、元のコントローラーにベイクされる。Offsetの機能を使用することができません。Documentationhttp://alexallright.com/allrightrig/doc/?section=anim-offsetCurvesCurvesはアニメーションのカーブに対する4つの機能が用意されています。使用頻度の高い機能です。カーブをリダクションする。ピーク(値が飛んでいる箇所)を除去する。カーブを指定した軸を起点に反転する。カーブを滑らかにする。Documentationhttp://alexallright.com/allrightrig/doc/?section=curvesCopy&Paste複数のコントローラーのアニメーションをコピーする機能です。Curves値の変化がないキーを削除することができます。始めにアニメーションをベイクしてリグを作成した際には全フレームにキーが打たれますので、この機能が活躍します。Rigを使用してアニメーションを最終調整しています。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。