動きを保ちながら滑らかなアニメーションをステップキーに変換する方法
滑らかなアニメーションをステップキーに変換するには、残したいフレームで元の動きをサンプリングし、サンプリングした各ポーズが次のキーまで保持されるようにします。元のまばらなキーの補間だけを変更しても、その間にあったポーズは失われます。
このガイドは、既存のバーチャルペットやおもちゃのアニメーションを、意図的にポーズを止める表現へ変換するキャラクター制作者向けです。実際の手順にはMayaを使い、重要なジェスチャーやタイミングを保てるサンプルフレームの選び方も説明します。ここでいう動きを保つとは、選んだポーズ、動作の長さ、特徴的な瞬間を維持することです。それらのポーズ間の動きは、止めたポーズの連続になります。
接線だけを変更すると動きが変わる理由
滑らかなアニメーションカーブは、キー間の値を定義します。Mayaのステップ接線は、次のキーに到達するまで現在のキーの値を保持します。そのため、たとえばキャラクターの頭部の回転にフレーム1と13のキーしかない場合、それらのキーを直接ステップに変換すると、長く止まった後に急に動きます。途中の頭部の位置は取り込まれません。この動作については、Autodeskのグラフエディタの接線メニューに関するリファレンスに記載されています。
解決には、別々の2つの操作が必要です。まず滑らかな元データから値を取り込み、次に取り込んだ各値をどれだけの間表示するかを決めます。順序が重要です。元データをステップ補間に変更してからサンプリングすると、元の滑らかな動きではなく、すでに存在する停止ポーズが取り込まれます。
このワークフローでは、編集していない滑らかなバージョンを残し、変換用のシーンを別に作成します。ポーズを減らす過程でジェスチャーが失われても、元に戻すための参照になります。
ステップ間隔を選ぶ前に、何を保つべきですか?
まずクリップ全体を見て、動作を読み取りやすくしている瞬間を特定します。小さなキャラクターがおもちゃの方を向く動作なら、回転の始まり、頭部が最も傾く角度、視線が定まる瞬間、そして休止ポーズに戻るところなどです。
それぞれのイベントのフレーム番号を書き留めます。シーンのフレームレート、再生範囲、ループの境界も記録します。これらが比較条件になります。滑らかなバージョンとステップ版は、同じフレームレート、カメラ、範囲で確認してください。
次の判断表を使って、最初の方法を選びます。これらはサンプリングと保持の手法に基づく編集上の推奨であり、アプリケーションのプリセットではありません。
| 動きに必要なもの | 最初に試す方法 | 確認する点 |
|---|---|---|
| 一定のポーズリズム | 2フレームごとにサンプリング | 特徴的なポーズがサンプルの間に来ていないか |
| 意図的に長く止める表現 | その部分で残すポーズを減らす | 次の変化が意図した時刻に起きるか |
| 素早い回転や小さなジェスチャー | イベント前後の連続したフレームを残す | ジェスチャーが見える状態か |
| ループする待機動作 | 最後の保持と再開をまとめて計画する | つなぎ目に意図しない間が生じないか |
1つのクリップ内で間隔を組み合わせてもかまいません。2フレーム間隔は便利な出発点ですが、短いジェスチャーを残すには1フレームのアクセントが必要な場合があります。イベントのフレームを条件として扱い、規則的なサンプリンググリッドは編集可能な出発点として使ってください。
評価済みのキャラクターの動きを取り込むには?
ポーズを減らす前に、編集したいチャンネルでアニメーションを表現できる状態にします。リグの見た目の動きは、既存のキー以外にも依存している場合があります。Autodeskは、アニメーションカーブにベイクする必要があるアニメーションの例として、逆運動学、エクスプレッション、モーションパスを挙げています。シミュレーションのベイクを参照してください。
何を準備するかに応じて、ベイク先を選びます。トランスフォームを直接動かしたシンプルなおもちゃなら、そのアニメーション対象オブジェクトがベイク先になる場合があります。リグ付きキャラクターなら、編集可能なコントロールアニメーションが必要なのか、ベイク済みのジョイント結果が必要なのかを確認します。1つのコントロールをベイクすれば、キャラクターの見える部分がすべて取り込まれるとは限りません。
MayaのbakeResults操作は、動きに寄与する依存関係をサンプリング済みのアニメーションカーブに置き換え、明示的なサンプリング範囲を指定できます。シミュレーションオプションは、シーンを順番に評価する必要があるアニメーションに対応します。これらの機能については、bakeResultsコマンドのリファレンスに記載されています。
変換の前に、まず1フレーム間隔で高密度の参照ベイクを作成します。キーを削除したり補間を変更したりする前に、そのベイクを編集していない元データと比較します。ルート、頭部、付属物、別々にアニメーション化された顔のプロパティを確認します。この段階で違いがあれば、まずベイク先や対象チャンネルを見直してください。ステップ間隔を変えても、取り込まれていない動きを復元することはできません。
Mayaでステップキーを作成するには?
以下の手順は、時間単位がフレームで、対象のオブジェクトまたはリグのチャンネルを選択した変換用コピーがあることを前提としています。
- Animationメニューセットで、Key > Bake Simulation の横にあるオプションボックスを開きます。
- クリップ全体を含む明示的な Start/End 範囲を設定します。
- 対象オブジェクトと属性がベイクに含まれるよう、Hierarchy と Channels をオンにします。
- Sample By を 1、Oversampling Rate を 1 に設定します。等間隔でサンプリングするには Smart Bake をオフにします。
- ベイクを適用する前に、Bake To とソースレイヤーのオプションを確認します。元のシーンは別に保管します。
- ベイクを実行し、結果を滑らかな参照版と比較します。これらの設定については、AutodeskのBake Simulation Optionsに説明があります。
この高密度ベイクのコピーを残します。作業用バージョンでグラフエディタを開き、クリップ内のベイク済みキーを選択して、Tangents > Stepped を選びます。通常のSteppedを使ってください。Stepped Next は次のキーの値をすぐに表示するため、ポーズの現れ方が変わります。Mayaには一時的に確認できる Enable Stepped Preview もあります。オフにすると、元の接線タイプに戻ります。グラフエディタの接線メニューを参照してください。
次に、作業用バージョンのキーを選んだフレームスケジュールに合わせて減らします。フレーム1から2フレーム間隔にするなら、フレーム1、3、5などに加え、重要なイベントや終端のキーを残します。まとめて変化させるチャンネル全体で、不要な間のキーを選択して削除します。削除する前に、選択したフレーム番号を確認してください。
まず短い範囲で作業します。頭部があるフレームで変わり、関連する胴体チャンネルが別のフレームで変わると、実際にはサンプリングされていない値の組み合わせができることがあります。共通の保持フレームスケジュールを使うと、この問題を見つけやすくなります。
サンプル間にあるジェスチャーを保つには?
説明用の例として、24 fpsのキャラクタークリップで、フレーム8に耳が最大角度になる短いピクつきがあるとします。フレーム1から始まる2フレーム間隔のスケジュールでは、フレーム1、3、5、7、9以降がサンプリングされるため、フレーム8を見落とします。
24 fpsでは、2フレームごとの規則的な保持パターンは1秒あたり12回、3フレームごとのパターンは8回のポーズ変化になります。これはスケジュールを算術的に表したもので、クリップの見え方を測定した値ではありません。
| フレーム | 説明用の滑らかな元データにおける耳の角度 | 通常の2フレーム間隔 | 変更後のスケジュール |
|---|---|---|---|
| 7 | 10° | 保持 | 保持 |
| 8 | 25° | 省略 | 保持 |
| 9 | 12° | 保持 | 保持 |
フレーム8を残すと、最大角度を元の時刻に保てます。その場合、フレーム7は1フレーム、フレーム8も1フレーム続き、フレーム9から通常のパターンを再開できます。動作の残りの部分をずらさずにジェスチャーを表現できます。
このフレームは、編集していない元データまたは高密度ベイクから復元します。すでにキーを減らしたステップカーブにキーを追加しても、現在保持されている値が記録されるだけで、省略した角度は再現されません。ポーズの選択が終わるまで高密度の参照を残しておくことが、ここでの大きな利点です。
ステップモディファイアで十分ですか、それとも実際のキーが必要ですか?
キーのスケジュールを確定する前にリズムを試すには、手続き型のステップ効果が役立ちます。たとえばBforartistsのメーカー向けマニュアルには、Step Size、Offset、フレーム範囲のコントロールを備えたStepped Interpolation Fカーブモディファイアが記載されています。そのモディファイアシステムは、無効化できる調整可能な効果に対応しています。Graph Editor — Sidebar — Modifiers Tabのマニュアルを参照してください。
実際のステップキーが必要なタスクでは、この違いが重要です。アニメーションデータを確認してください。必要なのは、保持するサンプル時刻にキーがあり、その間をポーズが保持される状態です。プレビューがステップ状に見えるだけでは、それらのキーが存在する証拠になりません。使用中のツールで適切ならモディファイアを使ってタイミングを試し、変換完了とみなす前に、生成されたキーのデータを確認してください。
ステップ版が動作を保っているか確認するには?
結果を2段階で確認します。まず、保持したすべてのフレームで、元のキャラクターと変換後のキャラクターを比較します。一致させるポーズは同じになっているはずです。違いがあれば、チャンネルの選択漏れ、ベイク先、残っているリグやレイヤーの影響を調べます。Autodeskのドキュメントによると、既存の出力先レイヤーにベイクすると合成結果が変わることがあるため、不一致を調べる際はレイヤーの動作も確認してください。bakeResultsの出力先レイヤーに関するリファレンスを参照してください。
次に、意図した速度でクリップ全体を再生します。スクラブでは個々のポーズを確認できますが、再生すると、ポーズの保持によって動作が伝わるかがわかります。次の手順で問題を診断します。
- ジェスチャーが消える: 高密度参照から、そのジェスチャーを定義するフレームを復元します。
- 切り替わりが遅く感じる: 次のポーズが始まる時刻を確認し、前の保持時間を短くします。
- シルエットが急に変わりすぎる: 既存の2つのサンプルの間に、元のポーズをもう1つ残します。
- 体の一部が動き続ける: 変換対象に含めていないチャンネルや依存関係を確認します。
- ループのつなぎ目で間ができる: 終端と始端で、同じポーズが意図した以上に長く繰り返されていないか確認します。
保持したポーズが必要な箇所で元データと一致し、特徴的なイベントが意図した時刻に起き、選んだリズムでキャラクターの動きが伝わる状態になれば完了です。滑らかな元データと高密度ベイクをステップ版と一緒に保管しておけば、今後タイミングを編集する際、ポーズを推測するのではなく元のポーズを復元できます。
