mcpField
T
threejs-procedural-animation

threejs-procedural-animation

github.com/scottsttsクリエイティブ・メディア946103 回インストール6 日前に更新
リポジトリ

threejs-procedural-animation について

意味のあるフェーズ、座標系、時間ベースの動きを軸に、Three.js のプロシージャルアニメーションを設計するスキルです。軌道、ドッキング、階層変更、再現可能な状態リセットを扱います。

主な機能

  1. 01フェーズと座標系に基づく動作設計
  2. 02解析的な移動とスプリング収束
  3. 03ドッキング誤差の分解
  4. 04再親子化時のワールド変換維持
  5. 05フレームレート非依存の更新とリセット

活用シーン

  1. 01打ち上げや段階分離の演出
  2. 02ドッキングと位置合わせのアニメーション
  3. 03再現可能なデブリの動きの構築
  4. 04フレームレートに左右されない動作の実現

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/scottstts/threejs-awesome-graphics-agent-skills --skill threejs-procedural-animation

インストール後、Claude Code で/threejs-procedural-animationを入力して読み込まれたか確認します。

同梱ファイルreferences/procedural-motion-and-docking-systems.mdagents/openai.yaml

詳細

プロシージャルアニメーション

無関係な変換カーブではなく、意味のある状態をアニメーション化します。フレームごとの更新を書く前に、フェーズ、座標系、速度、所有関係を定義してください。

作成順序

  1. タイムラインのフェーズとイベント境界を定義します。
  2. 各モーションに使用する座標系を選択します。ワールド、対象のローカル、軌道半径方向、ドッキング軸、またはカメラショットのいずれかです。
  3. その座標系から目標位置と目標姿勢を導出します。
  4. 作成した移動には解析的運動学を、応答性の高い収束にはスプリングを使用します。
  5. 階層から子を切り離すときは、ワールド変換を保持します。
  6. 平行移動、アライメント、スピン、二次的なデブリ状態を分離します。
  7. 積分のデルタ値を制限し、再生時および破棄時にすべての状態変数をリセットします。

打ち上げ、段階分離、ドッキング、デブリ、スプリング、クォータニオン、フレームレートに依存しない応答の実装については、references/procedural-motion-and-docking-systems.mdを参照してください。

必須ルール

  • 経過秒数とdeltaSecondsを使用し、フレーム数に基づくモーションにしないでください。
  • 方向/座標系から姿勢を導出し、その後にロールまたはスピンを別のクォータニオンとして適用します。
  • ドッキング誤差を軸方向と半径方向の成分に分解します。
  • シーケンスの終了時には、スプリングによる収束から正確な最終姿勢に切り替えます。
  • アニメーション中のオブジェクトを親子関係から切り離すときは、削除する前にワールド位置、クォータニオン、スケールを取得します。
  • モーションを再現可能にする必要がある場合は、シード付き乱数を使用します。
  • ビジュアルシェイクは範囲を制限したエンベロープ内に収め、軌道とは分離します。

ルーティングの境界

ショット構成とカメラの切り替えには$threejs-camera-directionを使用します。 成果物の主な内容がオブジェクトの変換モーションではなく、プラズマ、火花、またはエフェクトのプーリングである場合は、$threejs-procedural-vfxを使用します。

コメント