mcpField
T
threejs-animation

threejs-animation

github.com/full-stack-skills開発10401 回インストール4 週間前に更新
リポジトリ

threejs-animation について

threejs-animationは、three.jsのアニメーションクリップ、アクション、ミキサー、キーフレームトラック、および一部の逆運動学アドオンを扱うエージェント向けスキルです。アニメーションの設定と評価を説明し、メッシュやスケルトンの範囲は関連スキルと区別します。

主な機能

  1. 01AnimationMixerとAnimationActionの手順
  2. 02クリップとキーフレームトラックの扱い
  3. 03毎フレームのミキサー更新とブレンド
  4. 04PropertyBindingの問題調査
  5. 05CCDIKSolverとCCDIKHelperの指針

活用シーン

  1. 01アニメーションクリップの再生とブレンド
  2. 02glTFのクリップによるアニメーション
  3. 03ボーンやモーフを対象とするトラックの調査
  4. 04CCD逆運動学ソルバーの追加

インストール

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

$npx skills add https://github.com/full-stack-skills/threejs-skills --skill threejs-animation

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
examples/
workflow-mixer-action.md
references/
official-sections.md

詳細

このスキルを使用するタイミング

ユーザーが次の内容に言及した場合は、必ずこのスキルを使用してください:

  • AnimationMixer.update、AnimationAction の再生/一時停止/停止、クロスフェード、クリップの同期
  • glTF または AnimationClipCreator で作成した AnimationClip、API レベルのリターゲティングに関する注意点
  • キーフレームトラック:位置/回転/スケール/色のトラック、および該当する場合はブール値/文字列トラック
  • IK:アドオンの CCDIKSolver/CCDIKHelper

重要:アニメーションとオブジェクトの区別

  • threejs-animation =時間評価とトラック。
  • threejs-objects =SkinnedMesh/Skeleton のアタッチ、バインドポーズなど、メッシュ側の処理。

トリガーとなる語句の例:

  • "AnimationMixer", "AnimationAction", "AnimationClip", "crossFade", "KeyframeTrack"
  • "动画混合", "骨骼动画", "剪辑", "淡入淡出"

このスキルの使用方法

  1. gltf.animations からクリップを取得するか、ユーティリティ/AnimationClipCreator で作成します。
  2. ルートオブジェクト(多くの場合 scene またはリグのルート)にバインドしたミキサーを作成します。
  3. mixer.clipAction(clip) でクリップごとにアクションを作成し、ループモード(LoopOnce、LoopRepeat、LoopPingPong)を設定します。
  4. フレームごとに:デルタ秒数を計算し(core の Clock を使用します。ドキュメントインデックスの Core に記載)、mixer.update(delta) を呼び出します。
  5. ブレンディング:weight、crossFadeTo、enabled フラグを調整します。ドキュメントを確認し、加算と完全置換のセマンティクスに注意してください。
  6. PropertyBinding:ボーン/モーフを対象とするパス文字列を理解します。エラーの多くはオブジェクト名の誤りが原因です。
  7. IK アドオン:サンプルの CCD IK を使用する場合は、基本アニメーションの後にソルバーをアタッチします。

examples/workflow-mixer-action.md を参照してください。

ドキュメントマップ(公式)

ドキュメントのセクション代表的なリンク
Animation(インデックス)https://threejs.org/docs/#Animation
Actionhttps://threejs.org/docs/AnimationAction.html
Mixerhttps://threejs.org/docs/AnimationMixer.html
Cliphttps://threejs.org/docs/AnimationClip.html
Trackshttps://threejs.org/docs/KeyframeTrack.html

詳細:references/official-sections.md。

対象範囲

  • 対象: Core Animation モジュール、キーフレームのパイプライン、クリップ作成と IK 用に掲載されているアドオン。
  • 対象外: DCC のエクスポートに関するベストプラクティス、物理ラグドール、音声同期(概念的な関連付けのみ)。

よくある問題とベストプラクティス

  • mixer.update を呼び忘れるとアニメーションが停止し、1 フレームにつき 2 回 update を呼ぶと速度が上がります。
  • 階層に互換性のないクリップをブレンドすると激しいポップが発生します。バインドポーズを検証してください。
  • ルートモーションがベイクされていない場合は、ゲームロジックで処理する必要があります。その旨を明記してください。
  • トラック数が多いと CPU コストが増加します。可能な場合は、前処理で未使用のトラックを削除してください。

ドキュメントとバージョン

AnimationMixer、トラック、glTF アニメーションのインポートの動作は、three.js のメジャーバージョン間で変更される場合があります。ユーザーがインストールしているバージョンについては、docs index の Animation セクションを正式な情報源として扱ってください。アップグレード時は、プロパティ名やローダーの出力の変更について、three.js リポジトリのリリースノートと移行ノートを確認してください。

エージェントの回答チェックリスト

このスキルに基づいて回答するときは、次の点を優先してください。

  1. 公式ドキュメントに記載された正確なクラス(AnimationMixer、AnimationAction など)またはアドオン(CCDIKSolver)を挙げます。
  2. https://threejs.org/docs/... のリンクを少なくとも 1 つ含めます(例:AnimationAction)。
  3. 変形が関わる場合は、クリップと SkinnedMesh/skeleton の関連を threejs-objects と結び付けて説明します。
  4. mixer.update(delta) と、安定した時間ソース(Clock)について明示的に説明します。
  5. 公式の examples は、名前のみを記載して参照します(ファイル全体を貼り付けないでください)。

参考資料

キーワード

英語: animationmixer、animationaction、animationclip、keyframetrack、crossfade、skinning、propertybinding、three.js

中文: アニメーションミキサー、AnimationMixer、AnimationAction、キーフレーム、スケルタルアニメーション、クリップ、クロスフェード、three.js

コメント