ComfyUI 上で動作するインタラクティブな 3D ポーズエディタノードです。 VRM・GLB・GLTF モデルをブラウザから直接読み込み、ボーンをドラッグ操作してポーズを付け、そのままワークフローに出力できます。
| ボタン | 機能 |
|---|---|
| 📸 Capture | 現在のポーズを PNG としてノード出力に送信 |
| RP | ポーズをリセット |
| RC | カメラをリセット |
| VRM | VRM / GLB / GLTF ファイルをローカルから読み込む |
| CC | カラー補正 ON/OFF(sRGB + ACES Filmic) |
| BG | 背景画像をローカルから読み込む |
| ✕ | 背景画像をクリア |
3dpose_custom_cmフォルダをComfyUI/custom_nodes/以下に配置します。- ComfyUI を再起動します。
- ノードメニューで "3D Pose Editor"(カテゴリ:
3D Pose)を追加します。
| 操作 | 動作 |
|---|---|
| 左ドラッグ | カメラ回転 |
| 右ドラッグ | パン(平行移動) |
| ホイール | ズーム |
| ビューギズモのX/Y/Z軸クリック | その軸方向からのビューにスナップ |
ボーン上の青い点(コントロールポイント)をドラッグします。
| 操作 | 動作 |
|---|---|
| 左右ドラッグ | Y 軸回転 |
| 上下ドラッグ | X 軸回転 |
| Alt + 上下ドラッグ | Z 軸回転 |
VRM ボタンをクリックしてローカルの .vrm / .glb / .gltf ファイルを選択します。
モデルは自動でスケーリング・センタリングされます。
- VRM ファイル:
@pixiv/three-vrmの HumanBone を使用してボーンを認識します。 - GLB / GLTF ファイル: 骨格(Bone)ベースのモデルであればそのまま動作します。
ノード起動時に自動で読み込まれるモデルを設定できます。
js/ フォルダに以下のいずれかのファイル名でモデルを配置してください:
| ファイル名 | 形式 |
|---|---|
model.glb |
GLB |
model.vrm |
VRM |
model.gltf |
GLTF |
優先順位は model.glb → model.vrm → model.gltf の順です。
いずれも存在しない場合はモデルなしで起動します。
BG ボタンで PNG / JPG などの画像ファイルを読み込むと、Three.js シーン内の背景板(PlaneGeometry)として表示されます。 📸 Capture 時にはモデルと背景が同一レンダリングに含まれた状態で出力されます。 ✕ ボタンで背景を削除できます。
background_image入力ポートに別ノードから画像を接続した場合は、Python 側で Capture 後に合成されます(両方設定した場合は二重合成になるため注意)。
ノード下部の Shape Keys ヘッダーをクリックするとパネルが展開します。 モデルに含まれるシェイプキー・表情をスライダー(0.0 〜 1.0)でリアルタイムに操作できます。
| モデル形式 | 取得元 |
|---|---|
| GLTF / GLB | morphTargetDictionary(Blender などで設定した名前) |
| VRM | ExpressionManager(happy, sad, blink などの VRM 標準表情) |
CC ボタンで sRGB カラースペース + ACES Filmic トーンマッピングを ON/OFF できます。 VROID Studio エクスポートや Blender 製モデルで暗く見える場合は ON にしてください。
| 項目 | 種類 | 説明 |
|---|---|---|
background_image |
IMAGE(オプション) | Python 側で Capture 画像に合成する背景 |
output_size_mode |
Standard / Background / Custom | 出力解像度の決定方法 |
custom_width / custom_height |
INT | Custom モード時の出力サイズ |
| output: image | IMAGE | ポーズキャプチャ画像(Torch テンソル) |
- フロントエンド: JavaScript + Three.js r160 + @pixiv/three-vrm 2.1.0(esm.sh 経由)
- バックエンド: Python(Base64 PNG → PIL → Torch Tensor 変換)
- キャプチャ解像度: 600 × 600 px
- デフォルトモデル:
js/model.glb/js/model.vrm/js/model.gltfのいずれかを配置(優先順に検索)
MIT License