Agent Skills › EL4CTEO/blender-skills › blender-pipeline-automation

blender-pipeline-automation

GitHub

自动化Blender批量处理,支持无头CLI、格式转换、资产库管理及并行渲染。适用于CI集成、大规模资产处理及流水线工具开发。

skills/blender-pipeline-automation/SKILL.md EL4CTEO/blender-skills

触发场景

需要批量转换3D文件格式 自动化Blender资产检查或处理任务 在CI/CD中集成Blender渲染或脚本执行

安装

npx skills add EL4CTEO/blender-skills --skill blender-pipeline-automation -g -y
更多选项

不安装直接使用

npx skills use EL4CTEO/blender-skills@blender-pipeline-automation

指定 Agent (Claude Code)

npx skills add EL4CTEO/blender-skills --skill blender-pipeline-automation -a claude-code -g -y

安装 repo 全部 skill

npx skills add EL4CTEO/blender-skills --all -g -y

预览 repo 内 skill

npx skills add EL4CTEO/blender-skills --list

SKILL.md

Frontmatter
{
    "name": "blender-pipeline-automation",
    "license": "MIT",
    "metadata": {
        "author": "blender-agent-skills",
        "version": "1.2.0"
    },
    "description": "Automate Blender 5.3 at scale - headless CLI flags, batch convert\/inventory\/run-any-skill-script over folders of .blend\/.fbx\/.glb\/.obj\/.usd, sharding, bpy pip module, library linking, path management, render-farm and CI patterns. Use for batch jobs, format conversion, library maintenance and pipeline tooling."
}

Pipeline Automation

The execution model is in blender-core (run_in_blender.py finds Blender and prints only the JSON results).

Batch one-liners

blender -b -P scripts/batch_process.py -- --in "assets/**/*.fbx" --op convert --to glb --out export/
blender -b -P scripts/batch_process.py -- --in library/ --op report                      # inventory JSON lines
blender -b -P scripts/batch_process.py -- --in "src/*.blend" --op script \
    --script ../blender-asset-qa/scripts/qa_check.py --kwargs '{"profile":"game"}'       # QA a whole library
blender -b -P scripts/batch_process.py -- --in src/ --op script --script ../blender-game-optimization/scripts/make_lods.py \
    --kwargs '{"rename":true}' --save-to processed/                                      # LODs for every file

Each file is streamed as one JSON line with ok, timing and results. Failures don't stop the batch, and the summary lists them. Parallel: start N processes with --shard 0/N … --shard N-1/N (Blender uses one core for Python, so processes scale with CPU/GPU count).

Headless CLI essentials

Flag Meaning
-b background, no UI. Put it first
file.blend open before running scripts. Order matters: args run left to right
-P script.py / --python-expr "..." run Python
--python-exit-code 1 non-zero exit if the script raises (CI)
--factory-startup ignore user prefs/add-ons (reproducible). Bundled add-ons still load
--addons rigify,io_scene_fbx enable specific add-ons
-E CYCLES -o //out/#### -F PNG -s 1 -e 10 -a / -f 5 render (blender-rendering)
--command extension build/validate/install-file extension tooling (blender-addon-development)
-- --my args everything after -- goes to the script (sys.argv[sys.argv.index("--")+1:])
--log "*", --debug-python debugging. 5.0 changed the log format, so don't regex progress lines
Environment variables: BLENDER_USER_SCRIPTS, BLENDER_USER_EXTENSIONS, BLENDER_SYSTEM_PYTHON. Use OCIO for custom color configs.

bpy as a Python module

pip install bpy==5.3.* (or 5.2.* for the LTS) (Python 3.13, matching the Blender release) gives import bpy in plain Python, which is handy for pytest/CI/web services. It has no UI and no GPU module by default, and it's large (~300 MB). Version-lock it with the Blender you target. The bpy wheel and the CLI behave the same for data API work.

Library patterns

  • Append/link: bpy.data.libraries.load(path, link=...) (see blender-core/references/bpy-patterns.md). 5.2: data_from.libraries exposes nested library paths when loading.
  • Write a subset: bpy.data.libraries.write(path, {datablocks}, fake_user=True, path_remap="RELATIVE_ALL") builds asset/library files from a session.
  • Find files: bpy.data.file_path_foreach(...) (5.2 flags: EXPAND_TOKENS for UDIMs, EXPAND_SEQUENCES, EXPAND_CACHES), and bpy.utils.blend_paths(absolute=True) lists every external path.
  • Remap/relocate: bpy.ops.file.find_missing_files(directory=...), make_paths_relative, pack_all. Libraries: lib.filepath = new; lib.reload().
  • Iterate every ID: bpy.data.all_ids (5.2; order isn't stable in 5.3, so sort by name if output must be deterministic), and bpy.data.orphans_purge(do_recursive=True) for cleanup.

Robustness rules

  • One task per process where possible. Long Blender sessions leak (images, undo). batch_process.py reuses the process but resets with read_factory_settings(use_empty=True) / open_mainfile.
  • Never write into the source folder by default. Use separate --out/--save-to, and write with copy=True.
  • Make scripts idempotent: re-running replaces their own outputs (named prefixes, exist_ok).
  • Log JSON, not prose: one object per file/job, so agents and CI can parse it cheaply.
  • Pin the Blender version (5.2 LTS, or 5.3) for a project. Record bpy.app.version_string + hash (bpy.app.build_hash) in the outputs.
  • Paths: bpy.path.abspath("//x") is relative to the opened .blend. In headless batches use absolute paths, or set them after open_mainfile.
  • GPU in containers: Cycles CUDA/OptiX needs the NVIDIA container runtime. Otherwise use CPU. EEVEE needs a GPU/EGL even headless.

CI recipe (GitHub Actions)

Download the Linux tarball (https://download.blender.org/release/Blender5.3/blender-5.3.0-linux-x64.tar.xz), cache it, then blender -b --factory-startup --python-exit-code 1 -P tests/run_all.py. This repo's .github/workflows/ci.yml is a working example.

版本历史

  • b1b21df 当前 2026-11-15 13:19

同 Skill 集合

skills/blender-addon-development/SKILL.md
skills/blender-animation/SKILL.md
skills/blender-asset-qa/SKILL.md
skills/blender-character-rigging/SKILL.md
skills/blender-clothing/SKILL.md
skills/blender-core/SKILL.md
skills/blender-environment-kits/SKILL.md
skills/blender-export-pipelines/SKILL.md
skills/blender-facial-shapekeys/SKILL.md
skills/blender-game-optimization/SKILL.md
skills/blender-geometry-nodes/SKILL.md
skills/blender-hair-grooming/SKILL.md
skills/blender-hardsurface-modeling/SKILL.md
skills/blender-lighting-lookdev/SKILL.md
skills/blender-pbr-materials/SKILL.md
skills/blender-rendering/SKILL.md
skills/blender-retopology-uv/SKILL.md
skills/blender-scene-setup/SKILL.md
skills/blender-sculpting/SKILL.md
skills/blender-simulation/SKILL.md
skills/blender-stylized-npr/SKILL.md
skills/blender-texture-baking/SKILL.md
skills/blender-texturing/SKILL.md
skills/blender-time-of-day/SKILL.md
skills/blender-video-editing/SKILL.md
skills/blender-weather-fx/SKILL.md
skills/blender-workflow-recipes/SKILL.md

元信息

文件数
0
版本
b1b21df
Hash
1b59d803
收录时间
2026-11-15 13:19

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.156.0. UTC+08:00, 2026-11-15 22:58
浙ICP备14020137号-1