threejs-procedural-animation について
意味のあるフェーズ、座標系、時間ベースの動きを軸に、Three.js のプロシージャルアニメーションを設計するスキルです。軌道、ドッキング、階層変更、再現可能な状態リセットを扱います。
主な機能
- 01フェーズと座標系に基づく動作設計
- 02解析的な移動とスプリング収束
- 03ドッキング誤差の分解
- 04再親子化時のワールド変換維持
- 05フレームレート非依存の更新とリセット
活用シーン
- 01打ち上げや段階分離の演出
- 02ドッキングと位置合わせのアニメーション
- 03再現可能なデブリの動きの構築
- 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
詳細
プロシージャルアニメーション
無関係な変換カーブではなく、意味のある状態をアニメーション化します。フレームごとの更新を書く前に、フェーズ、座標系、速度、所有関係を定義してください。
作成順序
- タイムラインのフェーズとイベント境界を定義します。
- 各モーションに使用する座標系を選択します。ワールド、対象のローカル、軌道半径方向、ドッキング軸、またはカメラショットのいずれかです。
- その座標系から目標位置と目標姿勢を導出します。
- 作成した移動には解析的運動学を、応答性の高い収束にはスプリングを使用します。
- 階層から子を切り離すときは、ワールド変換を保持します。
- 平行移動、アライメント、スピン、二次的なデブリ状態を分離します。
- 積分のデルタ値を制限し、再生時および破棄時にすべての状態変数をリセットします。
打ち上げ、段階分離、ドッキング、デブリ、スプリング、クォータニオン、フレームレートに依存しない応答の実装については、references/procedural-motion-and-docking-systems.mdを参照してください。
必須ルール
- 経過秒数と
deltaSecondsを使用し、フレーム数に基づくモーションにしないでください。 - 方向/座標系から姿勢を導出し、その後にロールまたはスピンを別のクォータニオンとして適用します。
- ドッキング誤差を軸方向と半径方向の成分に分解します。
- シーケンスの終了時には、スプリングによる収束から正確な最終姿勢に切り替えます。
- アニメーション中のオブジェクトを親子関係から切り離すときは、削除する前にワールド位置、クォータニオン、スケールを取得します。
- モーションを再現可能にする必要がある場合は、シード付き乱数を使用します。
- ビジュアルシェイクは範囲を制限したエンベロープ内に収め、軌道とは分離します。
ルーティングの境界
ショット構成とカメラの切り替えには$threejs-camera-directionを使用します。
成果物の主な内容がオブジェクトの変換モーションではなく、プラズマ、火花、またはエフェクトのプーリングである場合は、$threejs-procedural-vfxを使用します。
コメント
Markdown 対応