mcpField
O
octocode-mannequin

octocode-mannequin

github.com/bgauryyクリエイティブ・メディア9569 回インストール9 週間前に更新
リポジトリ

octocode-mannequin について

解剖学に基づく名称と関節可動域の制約を備えたリグで、人型モデルのポーズやキーフレームアニメーションを作成・検証するスキルです。Node CLI、Three.js ビューアー、エージェント向けの WebMCP 操作機能を含みます。

主な機能

  1. 01リグ、関節、動作スキームの確認
  2. 02制約付きポーズの作成と検証
  3. 03アニメーションフレーム列の検証
  4. 04Three.js ビューアーの生成と操作
  5. 05WebMCP ツールによるリグ操作

活用シーン

  1. 01制約に沿った人型ポーズの作成
  2. 02関節動作が制限されたかの確認
  3. 03キーフレームアニメーションのプレビュー
  4. 04エージェントのツール呼び出しによる操作

MCP 対応

ビューアーは、reach や look_at を含む11個の WebMCP ツールをリアルタイム操作用に公開します。エージェントはツールを検出・実行し、ポーズを検証できます。

インストール

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

$npx skills add https://github.com/bgauryy/octocode --skill octocode-mannequin

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

同梱ファイル

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

README.md
assets/
backflip.json
dance.json
idle.json
run-cycle.json
viewer.template.html
references/
anatomy-scheme.md
joint-constraints.md
movement-protocol.md
references.md
rom-table.md
viewer-guide.md
webmcp-agent.md
scripts/
skeleton.mjs

詳細

Octocode Mannequin

解剖学的な名称を付けた22本の骨で構成されるヒューマノイドリグ(腕を下ろしたニュートラル姿勢、左右対称)と、すべての関節を実際の可動域に制限する動作プロトコルです。移動、旋回、ジャンプ、バックフリップ用に、ルートの6自由度チャンネル(平行移動/ピッチ/ヨー/ロール)を備えています。Node CLI、自己完結型のThree.jsビューアー(接地処理と滑らかなCatmull-Romアニメーション)、エージェントがリアルタイムで操作するWebMCPツールも含まれます。フロー:SCHEME → COMMAND → CLAMP+FK → RENDER → DRIVE。

厳守事項

  1. scripts/skeleton.mjs は、骨/関節/ROM/動作の唯一の信頼できる情報源です。リファレンスとビューアーもこれを反映します。ビューアーはクランプ/sideSign/FKの計算を再実装しているため、変更は両方のファイルに加え、再検証する必要があります(両者は常に一致していなければなりません)。
  2. 動作コマンドには、その関節で有効な解剖学的名称を使ってください。符号付きの角度を直接指定したり、関節の許可リストにない動作を指定したりしてはいけません。コマンドを作成する前に references/movement-protocol.md を読んでください。CLIとツールはこれらを拒否します。
  3. ROM値はリグのデフォルト値であり、医学的な事実ではありません。制限値を引用する前に references/rom-table.md を読んでください。

事前確認

ビューアーファイル(viewer --out <file>.html)を作成すると、そのパスのファイルが上書きされます。また、エージェントによる操作には、新しいポートで起動した新しい非ヘッドレスChromeが必要です。最初にファイルを書き込む前、またはブラウザーを起動する前に、出力パスを確認し、ユーザーの承認を得てください。

ワークフロー

  1. まず node scripts/skeleton.mjs scheme を実行して、骨と関節の自由度/ROM/動作を確認します。階層については references/anatomy-scheme.md を、制約モデルについては references/joint-constraints.md を、正確な角度については references/rom-table.md を読んでください。
  2. references/movement-protocol.md を使ってポーズコマンドを作成し、node scripts/skeleton.mjs pose --cmd '...' を実行します。warnings/clamped を確認し、skeleton.mjs sequence --file frames.json を実行してアニメーションを検証します。
  3. レンダリングするには、node scripts/skeleton.mjs viewer --out <file>.html [--pose pose.json] を実行し、ビューアーを開きます。スライダーをドラッグするか、コンソールから window.applyPose/window.playSequence を呼び出します。すぐに使えるアニメーションは assets/ にあります(生きているような呼吸や揺れの動きには、run-cycle.json、backflip.json、dance.json、idle.json)。ビューアーの仕組みについては references/viewer-guide.md を読んでください。
  4. エージェントにリアルタイムで操作させるには、references/webmcp-agent.md を読み込み、CDP経由でビューアーのWebMCPツールを提供します。タスク空間の reach(手や足をワールド座標の点に配置)と look_at を含む11個のツールがあります。get_scheme.guide にはフレームと単位の仕様が記載されています。ツールを検出して実行し、get_pose またはスクリーンショットで確認してください。

次の場合は停止してください:ポーズを get_pose またはスクリーンショットで確認できた場合、clamped:true が示されて関節がすでにROMの制限値に達している場合(これが回答です。制限を超えて動かそうとしてはいけません)、関節に無効な動作として拒否された場合(報告された許可リストを使って再試行し、角度を直接指定してはいけません)、reach が残差距離とともに reached:false を返した場合(目標は範囲外です。目標を変更し、同じ呼び出しを繰り返してはいけません)、ツールの検出結果が WEBMCP_NO_TOOLS または11個未満の場合(Runtime.evaluate 経由で window.applyPose に切り替えてください)、スクリーンショットが空白の場合(Chromeがヘッドレスです。非ヘッドレスで再起動してください)、または物理演算、IKによる足の固定、モーションキャプチャが必要な場合(対象外であることを伝えてください)。

このスキルを使わない場合

一般的な3Dシーンのセットアップ、物理演算/ラグドールシミュレーション、IKによる足の固定、バランス、衝突、モーションキャプチャ(BVH/glTF)のインポートには使用しません。動きはキーフレームによる運動学であり、バックフリップは作成するもので、シミュレーションするものではありません。この対象範囲が選ばれた理由については references/references.md を読んでください。

段階的な参照

参照使用する場面
references/anatomy-scheme.md骨格階層の構築・説明
references/joint-constraints.mdDOF/制約モデルと、各関節で確認済みの回転方向
references/rom-table.md動作ごとの正確な角度制限
references/movement-protocol.mdポーズコマンドの作成・検証
references/viewer-guide.mdThree.js ビューアーの生成・操作
references/webmcp-agent.mdWebMCP + CDP を使ったエージェントによるマネキンの操作
references/references.md出典/設計上の選択理由

スクリプト

  • node scripts/skeleton.mjs を実行すると、scheme/pose/sequence/viewer サブコマンド(--help)を使用できます。npm のインストールは不要です。WebMCP の CDP 操作は octocode-chrome-devtools スキルに委任されます。

コメント