予備動作とフォロースルー:ジャンプに重さを
3Dでは問題なく見えるクリップも、数ピクセルの高さになるとふわふわしがちです:踏み切りの前にしゃがまず、着地に重さがありません。タイミングノードは、各部位の速さから、手描きのアニメーターが加えるものを加えます。

サンプルプロジェクト
予備動作とフォロースルー:タイミングノード付きの騎士のジャンプ:.pixorプロジェクトとそのライブラリモデル(CC0)。左のシートがレンダリング結果です。


初級・約5分・91秒の動画でも見られます
1. 横から見るカメラ
リグ付きのモデルを開きます:このチュートリアルでは無料のCC0ライブラリの騎士を使います。シーンステップで、アウトライナーの南カメラをクリックし、ゲームビューをプラットフォーマーにします。
2. スケールを固定
カメラのサイズをメートルあたりのピクセル数にして34と入力します。モデルに合わせたカメラはアクション全体が収まるようにモデルを拡大縮小するので、深くしゃがむとスプライトが小さくなってしまいます。スケールを固定すれば騎士の大きさは変わらず、キャンバスがその周りに広がります。
3. ライブラリのジャンプ
アクションステップでアクションを追加 › ライブラリのクリップ:jumpを選びます。スタイルステップの2Dビューで見てみましょう:再生はされますが、ふわふわしています。騎士はしゃがまずに地面を離れ、重さのないまま着地します。
4. タイミングノードを追加
アクションステップに戻り、アクショングラフでクリップノードを選び、アクションノードを追加でタイミング(フィルターの下)を選びます。クリップの後ろに入り、残りは各部位の速さから自動で決まります:
- 予備動作(アンティシペーション):部位が速く動く直前に、まず少しだけ逆方向へ動きます。
- オーバーシュート(フォロースルー):速い動きが止まるとき、その部位は少し行き過ぎてから元に落ち着きます。
- つぶし:落下が止まる所で、モデルが一瞬平たく横に広がり、また元に戻ります。
5. 設定
ノードのフィールドがその設定です:強さ(1。0はクリップのまま、2は2倍)、予備動作、オーバーシュート、つぶし(それぞれ1。0でなし)、そして秒は予備動作と落ち着きにかかる時間(0.1)。このチュートリアルでは強さを1.5にします。同じ数値なら毎回同じフレームになります。
6. 重さが出た
スタイルステップでは、ジャンプが踏み切りの前にしゃがみ、着地でつぶれるようになりました。2Dビューのオニオンスキン(O)や変化(D)で1フレームずつ確かめましょう。
7. 書き出し
アセットステップで、ノードライブラリからファイル:クリップごとのGIF出力を追加し、書き出します:シート、そのJSON、ジャンプのGIF。
コマンドラインから
--timingは、レンダリングのすべてのクリップにタイミングノードを付けます:まず強さ、続いて任意の設定を名前で指定します。
pxr render knight.glb --camera platformer --pixels-per-metre 34 --clip lib:jump --timing 1.5
pxr render hero.glb --clip attack --timing 1.5,squash=0,time=0.08
pxr project set game.pixor --timing overshoot=2
pxr project set --no-timingで再び取り除きます。
次へ
- アニメーションのタイミング:ホールド、フレーム数、1フレームをどれだけ見せるか。
- サブピクセルアニメーション:1ピクセルより小さな呼吸。
よくある質問
タイミングノードでポーズの最終位置は変わりますか?
いいえ。クリップで静止しているポーズはすべて正確に保たれ、どの部位も元と違う場所で終わることはありません。ポーズの間の動きにだけ、前に予備動作、後にオーバーシュートが付きます。
Mixamoや他のキャプチャしたクリップでも使えますか?
はい。各部位の速さを読み取るので、どんなクリップでも使えます:ライブラリのクリップ、Mixamoからのダウンロード、自分で打ったキー。遅い動きはほぼそのまま、速い動きほど強く効きます。
ループする歩きは、ちゃんとループしたままですか?
はい。ループするアクションでは効果がループをまたいで回り込むので、最初の動きの予備動作は前の周の最後に入り、ループは継ぎ目なく保たれます。
タイミングノードを追加するとスプライトが小さくなるのはなぜですか?
モデルに合わせたカメラは、深いしゃがみとつぶしのための余白を作ります。カメラのサイズを「メートルあたりのピクセル数」にすれば、動きがどうであれスケールは固定されます。