cli-anything-blender について
cli-anything-blenderは、Blenderのシーンを編集するステートフルなコマンドラインツールです。3D作業を自動化するエージェントやユーザー向けに、JSON形式のプロジェクト状態管理と描画プレビューを提供します。
主な機能
- 01シーンとプロジェクトの管理
- 02オブジェクト、マテリアル、モディファイアの編集
- 03カメラ、ライト、アニメーションの設定
- 04シーン描画とbpyスクリプト生成
- 05ビジュアルプレビューの取得と履歴管理
- 06取り消し・やり直し対応の対話型REPL
活用シーン
- 01コマンドでBlenderシーンを作成・編集
- 02マテリアル、照明、アニメーションの調整
- 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 オブジェクト管理コマンド。
| コマンド | 説明 |
|---|---|
add | 3D プリミティブオブジェクトを追加します |
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.htmlcli-hub previews watch <session-dir> --opencli-hub previews open <bundle-or-session>
セッション
セッション管理コマンドです。
| コマンド | 説明 |
|---|---|
status | セッションの状態を表示します |
undo | 最後の操作を元に戻します |
redo | 最後に元に戻した操作をやり直します |
history | undo 履歴を表示します |
例
新しいプロジェクトの作成
新しい 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 をプログラムから使用する場合:
- 常に
--jsonフラグを使用する:解析可能な出力のため - リターンコードを確認する - 成功時は 0、エラー時は非ゼロ
- 失敗時は stderr を解析する:エラーメッセージのため
- 必須:絶対パスを使用する:すべてのファイル操作(レンダリング、プロジェクトファイル)に。相対パスはバックグラウンド実行で失敗しやすくなります。
- 視覚的な検証には
preview captureまたはpreview live ...を使用する:JSON だけからシーンの品質を推測する代わりに - 返されたアーティファクトのパスを読み取る:
hero.pngやworkbench.pngなど。JSON ペイロードはファイルを参照するもので、画像のバイト列をインライン展開するものではありません _bundle_dirは 1 つのスナップショットとしてのみ扱う:安定したライブ履歴には、_session_dirと_trajectory_pathを使用してくださいcli-hub previews ...は既存のプレビューの検査/オープンにのみ使用する:プレビューの生成自体は常にcli-anything-blender preview ...を通じて行われます
詳細情報
- 完全なドキュメント:パッケージ内の README.md を参照してください
- テストカバレッジ:パッケージ内の TEST.md を参照してください
- 方法論:cli-anything-plugin 内の HARNESS.md を参照してください
バージョン
1.0.0