元記事:
blender.org - Walk Cycle Modifiers
ウォークサイクルの変形
フォワードサイクリングとマッチング
ベルトコンベヤ上で反対に歩いているように、NLA 内でウォークサイクルに、立ち止まって見えるようなアニメーションをするのに必要な、複数の Action を追加する機能が今までありませんでした。
Stride オプションはこの表現を行う場合、Object 自身を前に移動し、足が床にくっついてる状態を保持しようとします。(あまり見栄えのよくない状態で!)。
このオプション(Transform Properties 内の OffsBone)で、ウォークサイクルを前に移動するようできるようになりました。参照オフセット Bone を指示することにより、NLA システムがこれを使用して適切なオフセットを計算し、Armature の Pose を前方に、シームレスに移動させます。
素晴らしいことに、このオプションはサイクリックな Action Strip だけでなく、単一の Action Strip でも動作します。ただしこの場合、対象 Strip に "Hold" を設定する必要があります(恐らく後で自動的に検知するようになるでしょう)。
下は NLA での編集画面のサンプル画像です。
www.blender.org/bf/nla_match-cycle.jpgそしてその動画です。
download.blender.org/demo/test/2.43/0001_0150_match.aviBlend ファイル:
download.blender.org/demo/test/2.43/mancandy_matching.blendこれをサイクリックな物に使用すると直感的に判りやすく動きます。Stride Bone に比べ、非常に設定が簡単です。
テスト予定:
- サイクルのブレンド
- 同様に、Bone の回転へのマッチ
Action モディファイア(モーションデフォーマ)
通常ウォークサイクルは、胴体や足などをコントロールするいくつかの Bone で構成されています。
Action モディファイアは Curve Path を使用し、これらのコントロール Bone のモーションの変形を可能にします。これは現在ある Curve 変形オプションを使用します。モディファイアは Action Strip 毎に追加可能で、コントロールはチャネル(Bone)毎に選択でき、更にそれぞれの上に複数のモディファイアを層とすることができます(複数の Path によるモーションのデフォーム)。このオプションは依存グラフを使用しているため、Curve の編集により、Armature にリアルタイムで変更が反映されます。
以前のウォークサイクル。二つの Curve によりコントロールされています。
The previous walkcycle, controlled by two curves:
download.blender.org/demo/test/2.43/0001_0150_deform.avi Blend ファイル。
download.blender.org/demo/test/2.43/mancandy_actiondeform.blend別のデモ Avi。
download.blender.org/demo/test/2.43/0001_0120_deform.avi 二つの同じ Path の片方を Speed Curve でコントロールした例。
download.blender.org/demo/test/2.43/0001_0150_speed.aviAction モディファイアは NLA Properties パネルから追加できます。モディファイアごとに、チャネルもしくは Curve Object を指定しなければなりません。モディファイアは、ある Strip から別の Strip へ[Ctrl]+[C]でコピーできます(アクティブな Object Strip にのみコピーできます)。
慎重かつ適切に Curve Path の設定を行う必要があります。
- Top ビューで[Shift]+[A]を使用して "Curve Path" を作成します。Path は絶対に回転させないで下さい。
- Curve Object の Center を Armature の Center 位置(もしくはその上)に確実にくるようにします。
- 同様に、Curve の最初のポイントをその Center に持ってきます
- Path のスタート位置がこの最初のポイントになっているかチェックします。(Curve EditMode 中)[W]→"Switch Direction" で、方向を変更できます。
- 使用する軸の方向が正しいか確かめます。もし Armature の歩行が Y 軸の負の方向であれば、ObjectButtons の "Anim Settings" パネル内の Track ボタンで正しい方向にしてやる必要があります(注意:多分、モディファイアはオプション変更後に動いてしまうでしょう)。
- Path は Bone の全ての軸、もしくは特定の軸のみを回転するのに使用できます。例えば、ボディ Bone は XY のみ回転、Z 軸はそのまま、など。これは NLA Properties パネル内でも同様に設定できます。
- デフォルトでは、Curve Path に、スムーズな、Speed Ipo Curve が追加されます。IpoWindow を開き、"Speed" が表示されるように設定し、そして Curve 全体を削除するなどして、Path の移動量を線形に変更します。
- Speed Ipo はデフォルトでは、左右の0-100の範囲が Path の全範囲にマッピングされます。ここでは実際の時間とは無関係です。
このことはこのような Path の(コマンドによる)自動化の立派な理由になります。これは Todo リストにあります。
また、以下のことにも気をつけてください。
- Curve Path は最初と最後で延長します。それが(当分は)デフォルトであり、複数のPath が使用できます。Path の始点と終点は確実に水平にして下さい。
(訳注:原文は "The Curve Path extends in beginning and ending, that's (for now) the default, and allows to use multiple paths." 多分後でなおします)
- ObjectMode での Curve の移動は、「マッピング」の変更になります(地形をキャラクタが無視して動くようになります)。EditMode での Curve の移動は実際の変形位置の変更になります。
- "CurveStretch" オプションは動作しません。
- モディファイアは NLA 内のすべての Action が評価された後で実行されます。モディファイアによる複数の Strip のブレンディングはまだサポートされていません。
- タイムマッピングはまだ動作しません…。
現在のコードはまだキャラクターアニメーター達による評価待ちです…詳細や動作方法は変化する可能性があります。
また、この機能は他のモディファイアでも使用される可能性があります。例えば、Noise(Perlin ノイズ)や神秘的な "Oomph"(頻度(frequency)コントロール)、そしてもちろん Python など。
(訳注:Noise・Oomph モディファイアはまだ2.43では実装されていません)
リサーチとデザインの評価をして下さった Bassam 氏と Matt 氏に特に感謝します。
元記事:
blender.org - Walk Cycle Modifiers