mcpField
C
cli-anything-blender

cli-anything-blender

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

cli-anything-blender について

cli-anything-blenderは、Blenderのシーンを編集するステートフルなコマンドラインツールです。3D作業を自動化するエージェントやユーザー向けに、JSON形式のプロジェクト状態管理と描画プレビューを提供します。

主な機能

  1. 01シーンとプロジェクトの管理
  2. 02オブジェクト、マテリアル、モディファイアの編集
  3. 03カメラ、ライト、アニメーションの設定
  4. 04シーン描画とbpyスクリプト生成
  5. 05ビジュアルプレビューの取得と履歴管理
  6. 06取り消し・やり直し対応の対話型REPL

活用シーン

  1. 01コマンドでBlenderシーンを作成・編集
  2. 02マテリアル、照明、アニメーションの調整
  3. 03プレビュー描画によるシーン変更の確認

インストール

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

$npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-blender

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

詳細

cli-anything-blender

3D シーン編集のためのステートフルなコマンドラインインターフェースで、GIMP CLI ハーネスと同じパターンに従っています。JSON シーン記述フォーマットを使用し、実際の Blender レンダリング用に bpy スクリプトを生成します。

インストール

この CLI は cli-anything-blender パッケージの一部としてインストールされます:

pip install cli-anything-blender

前提条件:

  • Python 3.10+
  • blender (>= 4.2) がシステムにインストールされている必要があります

使用方法

基本コマンド
# Show help
cli-anything-blender --help

# Start interactive REPL mode
cli-anything-blender

# Create a new scene project
cli-anything-blender scene new -o scene.blend-cli.json

# Run with JSON output (for agent consumption)
cli-anything-blender --json --project scene.blend-cli.json scene info
REPL モード

サブコマンドなしで起動すると、CLI は対話型 REPL セッションに入ります:

cli-anything-blender
# Enter commands interactively with tab-completion and history

コマンドグループ

シーン

シーン管理コマンド。

コマンド説明
new新しいシーンを作成します
open既存のシーンを開きます
save現在のシーンを保存します
infoシーン情報を表示します
profiles利用可能なシーンプロファイルを一覧表示します
json生のシーン JSON を出力します
オブジェクトグループ

3D オブジェクト管理コマンド。

コマンド説明
add3D プリミティブオブジェクトを追加します
removeインデックスでオブジェクトを削除します
duplicateオブジェクトを複製します
transformオブジェクトを変換します (移動、回転、スケール)
setオブジェクトのプロパティを設定します (名前、可視性、位置、回転、スケール、親)
listすべてのオブジェクトを一覧表示します
getオブジェクトの詳細情報を取得します
マテリアル

マテリアル管理コマンド。

コマンド説明
create新しいマテリアルを作成します
assignオブジェクトにマテリアルを割り当てます
setマテリアルのプロパティを設定します (色、メタリック、ラフネス、スペキュラ、アルファなど)
listすべてのマテリアルを一覧表示します
getマテリアルの詳細情報を取得します
モディファイアグループ

モディファイア管理コマンド。

コマンド説明
list-available利用可能なすべてのモディファイアを一覧表示します
infoモディファイアの詳細を表示します
addオブジェクトにモディファイアを追加します
removeインデックスでモディファイアを削除します
setモディファイアのパラメータを設定します
listオブジェクトのモディファイアを一覧表示します
カメラ

カメラ管理コマンド。

コマンド説明
addシーンにカメラを追加します
setカメラのプロパティを設定します
set-activeアクティブカメラを設定します
listすべてのカメラを一覧表示します
ライト

ライト管理コマンド。

コマンド説明
addシーンにライトを追加します
setライトのプロパティを設定します
listすべてのライトを一覧表示します
アニメーション

アニメーションとキーフレームのコマンド。

コマンド説明
keyframeオブジェクトにキーフレームを設定します
remove-keyframeオブジェクトからキーフレームを削除します
frame-rangeアニメーションのフレーム範囲を設定します
fpsアニメーションの FPS を設定します
list-keyframesオブジェクトのキーフレームを一覧表示します
レンダリンググループ

レンダリング設定と出力のコマンド。

コマンド説明
settingsレンダリング設定を構成します
info現在のレンダリング設定を表示します
presets利用可能なレンダリングプリセットを一覧表示します
executeシーンをレンダリングします (bpy スクリプトを生成)
scriptレンダリングせずに bpy スクリプトを生成します
プレビュー

実際のプレビューバンドルのキャプチャとライブプレビューセッションのコマンドです。

コマンド説明
preview recipes利用可能なプレビューレシピを一覧表示します
preview captureアクティブなシーンの実際のプレビューバンドルをレンダリングします
preview latest最新の既存プレビューバンドルを返します
preview live startライブプレビューセッションを開始し、最初のバンドルを公開します
preview live push更新されたバンドルをライブセッションに公開します
preview live statusレンダリングせずに現在のライブセッションの状態を読み取ります
preview live stopアーティファクトを削除せずにライブセッションを停止します

レシピ quick の一般的なバンドルアーティファクト:

  • 実際の Eevee プレビューレンダリングによる hero.png
  • 実際の Blender Workbench レンダリングによる workbench.png

ライブセッションが保持するもの:

  • 可変ヘッドとしての session.json
  • 不変のバンドルディレクトリ
  • 追記専用のコマンドからプレビューへの履歴としての trajectory.json

ビューア側:

  • cli-hub previews inspect <bundle-or-session>
  • cli-hub previews html <bundle-or-session> -o page.html
  • cli-hub previews watch <session-dir> --open
  • cli-hub previews open <bundle-or-session>
セッション

セッション管理コマンドです。

コマンド説明
statusセッションの状態を表示します
undo最後の操作を元に戻します
redo最後に元に戻した操作をやり直します
historyundo 履歴を表示します

例

新しいプロジェクトの作成

新しい Blender シーンプロジェクトファイルを作成します。

cli-anything-blender scene new -o myscene.blend-cli.json
# Or with JSON output for programmatic use
cli-anything-blender --json scene new -o myscene.blend-cli.json
インタラクティブ REPL セッション

undo/redo をサポートするインタラクティブセッションを開始します。

cli-anything-blender
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation

状態管理

CLI は次の内容でセッション状態を維持します:

  • Undo/Redo:最大 50 レベルの履歴
  • プロジェクトの永続化:プロジェクト状態を JSON として保存/読み込み
  • セッションの追跡:変更と修正を追跡

出力形式

すべてのコマンドは 2 つの出力モードをサポートします:

  • 人間が読みやすい形式(デフォルト):テーブル、色、整形されたテキスト
  • 機械可読形式(--json フラグ):エージェントが利用するための構造化 JSON
# Human output
cli-anything-blender --project scene.blend-cli.json scene info

# JSON output for agents
cli-anything-blender --json --project scene.blend-cli.json scene info

プレビューワークフロー

エージェントが正確な視覚的チェックポイントを必要とする場合は、Blender プレビューを使用します:

# List preview recipes
cli-anything-blender --project scene.blend-cli.json preview recipes

# Capture a real preview bundle
cli-anything-blender --json --project scene.blend-cli.json preview capture --recipe quick

# Start a live preview loop
cli-anything-blender --json --project scene.blend-cli.json preview live start --recipe quick --mode poll --source-poll-ms 500

# Query current live head without rendering
cli-anything-blender --json --project scene.blend-cli.json preview live status --recipe quick

エージェント向けに、preview capture --json はバンドルのメタデータとアーティファクトのファイルパスを返します。preview live status --json はセッションのメタデータとコンパクトな trajectory_summary を返します。

AI エージェント向け

この CLI をプログラムから使用する場合:

  1. 常に --json フラグを使用する:解析可能な出力のため
  2. リターンコードを確認する - 成功時は 0、エラー時は非ゼロ
  3. 失敗時は stderr を解析する:エラーメッセージのため
  4. 必須:絶対パスを使用する:すべてのファイル操作(レンダリング、プロジェクトファイル)に。相対パスはバックグラウンド実行で失敗しやすくなります。
  5. 視覚的な検証には preview capture または preview live ... を使用する:JSON だけからシーンの品質を推測する代わりに
  6. 返されたアーティファクトのパスを読み取る:hero.png や workbench.png など。JSON ペイロードはファイルを参照するもので、画像のバイト列をインライン展開するものではありません
  7. _bundle_dir は 1 つのスナップショットとしてのみ扱う:安定したライブ履歴には、_session_dir と _trajectory_path を使用してください
  8. cli-hub previews ... は既存のプレビューの検査/オープンにのみ使用する:プレビューの生成自体は常に cli-anything-blender preview ... を通じて行われます

詳細情報

  • 完全なドキュメント:パッケージ内の README.md を参照してください
  • テストカバレッジ:パッケージ内の TEST.md を参照してください
  • 方法論:cli-anything-plugin 内の HARNESS.md を参照してください

バージョン

1.0.0

コメント