内容
# 代码大全 Blender
代码大全 Blender 是一个开源的本地桥接工具,用于从 Codex 或终端命令行控制 Blender。它在 Blender 内部运行一个小型 HTTP 服务器,然后接受结构化的 JSON 命令,用于场景创建、资产导入、渲染、保存和检查。
这不是一个云连接器。Blender 在您的本地机器上运行。
## 功能与限制
代码大全 Blender 可以创建程序化场景、导入本地资产、应用材质和纹理、放置参考图像、渲染、保存、导出、检查对象,并通过结构化命令执行简单的变换或动画。
它不能将任意图像转换为完美的生产级 3D 模型。图像到模型的转换是一个迭代工作流程:添加参考、创建或导入基础模型、调整几何体/材质/相机、渲染、比较、重复。
有关重复的参考-渲染过程,请参见 `docs/render-comparison.md`。
创建并排比较联系表:
```powershell
python scripts\create_contact_sheet.py assets\references\modern_table_reference.png assets\logo.png renders\compare\table_side_by_side_v001.png --metadata-output renders\compare\reports\table_v001.json
```
计算粗略的图像差异指标:
```powershell
python scripts\compare_images.py assets\references\modern_table_reference.png assets\logo.png --output renders\compare\reports\table_metrics_v001.json
```
创建比较迭代报告:
```powershell
python scripts\create_iteration_report.py assets\references\modern_table_reference.png renders\compare\reports\table_iteration_v001.json --markdown-output renders\compare\reports\table_iteration_v001.md --note "Initial comparison pass."
```
有关发布步骤和确认检查清单,请参见 `docs/github-release.md`。
在本地验证发布 ZIP:
```powershell
python scripts\verify_release_asset.py --build
```
在不发布的情况下生成发布草稿元数据:
```powershell
python scripts\generate_release_draft.py --build
```
## 功能
- 在 `http://127.0.0.1:8765` 处启动和停止本地 Blender 桥接。
- 创建一个启动房间场景。
- 创建一个带有 sidewalk、路缘、标记、各种树、长椅、标志、灌木、岩石和路灯的室外道路场景。
- 创建一个可重复使用的现代木制桌子模型。
- 创建一个可重复使用的现代椅子模型。
- 创建一个可重复使用的现代沙发模型。
- 创建一个可重复使用的室内植物模型。
- 创建可重复使用的地板、桌子和天花板灯模型,带有真正的 Blender 灯。
- 创建可重复使用的程序化基本体,如斜角盒、面板、玻璃面板、圆柱体、圆锥体、平面、球体和标签。
- 创建程序化家具预设,如书架、橱柜、桌子、床、门、窗和墙艺术。
- 创建程序化建筑预设,如带有开口的墙、地板瓷砖、天花板面板、楼梯、栏杆和外立面。
- 列出程序化资产类别、预设、参数和示例。
- 创建一个组合的家具集场景。
- 创建可重复使用的房间布局预设。
- 列出本地模型、纹理和参考资产。
- 维护和搜索本地资产清单,包含路径、标签、许可证/来源注释、预览和缩放提示。
- 将导入的资产拟合并放置在目标边界内。
- 在编辑前检查当前场景对象。
- 移动、旋转、缩放和调整命名场景对象的大小。
- 复制和排列重复的对象。
- 添加简单的对象关键帧动画。
- 应用草稿、预览和最终渲染预设。
- 添加参考图像作为纹理平面用于并排建模。
- 将用户提供的图像纹理应用于 Blender 对象。
- 从结构化参考图像计划创建近似场景。
- 导入本地 `.glb`、`.gltf`、`.fbx` 和 `.obj` 资产。
- 将场景/模型导出到 `.glb` 和 `.obj`。
- 将当前场景渲染为 PNG。
- 将当前场景保存为 `.blend`。
- 检查骨骼和骨骼名称。
- 使用仅限开发的重新加载按钮刷新插件代码,无需重新安装。
## 要求
- Blender 3.6 或更新版本。
- 终端中可用的 Python。
- Codex 是可选的。桥接可以直接从终端使用。
## 项目布局
```text
codex-blender/
.codex-plugin/plugin.json
.mcp.json
blender_addon/codex_blender_addon.py
bridge/codex_blender_bridge.py
scripts/codex_blender_mcp.py
skills/blender/SKILL.md
examples/
assets/models/
renders/
scenes/
```
按约定使用这些文件夹:
```text
assets/models/ 3D 输入资产
exports/ 生成的模型导出
renders/ 生成的 PNG 渲染
scenes/ 生成的 .blend 文件
```
`exports/`、`renders/` 和 `scenes/` 被 Git 忽略。
稳定的 JSON 命令直接位于 `examples/` 下,由 `scripts/validate_project.py` 覆盖。一次性本地实验可以保存在 `examples/dev/` 中,除了其 README 之外,被 Git 忽略。
示例或文档使用的稳定参考图像直接位于 `assets/references/` 下。一次性视觉参考可以保存在 `assets/references/dev/` 中,除了其 README 之外,被 Git 忽略。
## 安装 Blender 插件
### 从源代码
1. 打开 Blender。
2. 转到 `编辑 > 首选项 > 插件 > 安装`。
3. 选择:
```text
blender_addon/codex_blender_addon.py
```
4. 启用 `Codex Blender Bridge`。
5. 在 3D 视口中,按 `N` 打开侧栏。
6. 打开 `Codex` 选项卡。
7. 点击 `启动桥接`。
### 从 ZIP
从 GitHub Releases 下载最新的插件 ZIP:
```text
https://github.com/bestmaa/codex-blender/releases
```
下载当前版本 ZIP,例如:
```text
codex_blender_addon_v1.7.3.zip
```
或在本地构建:
构建一个可安装的 ZIP:
```powershell
python scripts\package_addon.py
```
然后在 Blender 中从 `dist/` 安装生成的 ZIP:
```text
编辑 > 首选项 > 插件 > 安装
```
检查桥接是否正在运行:
```powershell
Invoke-RestMethod -Uri http://127.0.0.1:8765/health
```
预期响应:
```json
{
"ok": true,
"message": "Codex Blender Bridge is healthy."
}
```
## 首次运行
1. 安装并启用 Blender 插件。
2. 在 Blender 的 `Codex` 侧栏选项卡中点击 `启动桥接`。
3. 在此项目文件夹中打开终端。
4. 运行健康检查。
5. 运行一个场景命令。
6. 渲染或保存结果。
```powershell
Invoke-RestMethod -Uri http://127.0.0.1:8765/health
python bridge\codex_blender_bridge.py examples\create_room.json
python bridge\codex_blender_bridge.py examples\render_scene.json
```
## 从终端使用
从项目文件夹运行命令。
有关完整的烟雾测试,请参见:
```text
docs/quickstart-demo.md
```
当 Blender 运行时,可以使用选定的示例进行测试:
```powershell
python scripts\smoke_test_bridge.py
python scripts\smoke_test_blendermcp.py
```
有关图像/参考匹配,请参见:
```text
docs/reference-workflow.md
```
有关稳定的 JSON 命令模式,请参见:
```text
docs/commands.md
```
有关 MCP 工具覆盖和原始命令注释,请参见:
```text
docs/mcp-tools.md
```
有关 BlenderMCP 兼容性规划,请参见:
```text
docs/blendermcp-compatibility.md
```
有关常见的本地设置和运行时问题,请参见:
```text
docs/troubleshooting.md
```
有关 Windows、WSL、UNC 和 PowerShell 路径规则,请参见:
```text
docs/windows-paths.md
```
## 常用命令
```powershell
python bridge\codex_blender_bridge.py examples\create_table_model.json
python bridge\codex_blender_bridge.py examples\create_outdoor_scene.json
python bridge\codex_blender_bridge.py examples\render_outdoor_scene.json
python bridge\codex_blender_bridge.py examples\create_primitive_library.json
python bridge\codex_blender_bridge.py examples\create_furniture_presets.json
python bridge\codex_blender_bridge.py examples\create_architecture_presets.json
python bridge\codex_blender_bridge.py examples\list_procedural_catalog.json
python bridge\codex_blender_bridge.py examples\search_assets.json
python bridge\codex_blender_bridge.py examples\import_asset_from_library.json
python bridge\codex_blender_bridge.py examples\create_furniture_set.json
python bridge\codex_blender_bridge.py examples\add_reference_image.json
python bridge\codex_blender_bridge.py examples\setup_compare_view.json
python bridge\codex_blender_bridge.py examples\set_render_preset.json
python bridge\codex_blender_bridge.py examples\render_scene.json
python bridge\codex_blender_bridge.py examples\save_blend.json
```
有关发布 ZIP 打包,请参见:
```text
docs/release-packaging.md
```
有关包含的演示资产,请参见:
```text
docs/demo-assets.md
```
有关本地资产清单格式,请参见:
```text
docs/asset-library.md
```
有关提供者中立的图像到 3D 集成计划,请参见:
```text
docs/image-to-3d.md
```
有关测试版本发布说明,请参见:
```text
docs/beta-release-notes.md
```
有关草案 v1 发布说明,请参见:
```text
docs/release-notes-v1.md
```
有关实际限制和期望,请参见:
```text
docs/known-limitations.md
```
有关最终的烟雾测试矩阵,请参见:
```text
docs/smoke-test-matrix.md
```
有关最终的新用户演练,请参见:
```text
docs/final-user-walkthrough.md
```
有关 Windows 路径和 PowerShell 引号示例,请参见:
```text
docs/windows-paths.md
```
创建启动房间:
```powershell
python bridge\codex_blender_bridge.py examples\create_room.json
```
创建室外道路场景:
```powershell
python bridge\codex_blender_bridge.py examples\create_outdoor_scene.json
python bridge\codex_blender_bridge.py examples\render_outdoor_scene.json
```
创建现代桌子模型:
```powershell
python bridge\codex_blender_bridge.py examples\create_table_model.json
```
创建程序化基本体示例场景:
```powershell
python bridge\codex_blender_bridge.py examples\create_primitive_library.json
```
创建程序化家具预设:
```powershell
python bridge\codex_blender_bridge.py examples\create_furniture_presets.json
```
创建程序化建筑预设:
```powershell
python bridge\codex_blender_bridge.py examples\create_architecture_presets.json
```
列出程序化目录:
```powershell
python bridge\codex_blender_bridge.py examples\list_procedural_catalog.json
```
创建现代椅子模型:
```powershell
python bridge\codex_blender_bridge.py examples\create_chair_model.json
```
创建现代沙发模型:
```powershell
python bridge\codex_blender_bridge.py examples\create_sofa_model.json
```
创建室内植物模型:
```powershell
python bridge\codex_blender_bridge.py examples\create_plant_model.json
```
创建灯模型:
```powershell
python bridge\codex_blender_bridge.py examples\create_lamp_model.json
```
创建家具集场景:
```powershell
python bridge\codex_blender_bridge.py examples\create_furniture_set.json
```
创建房间布局预设:
```powershell
python bridge\codex_blender_bridge.py examples\create_room_layout.json
```
列出本地资产:
```powershell
python bridge\codex_blender_bridge.py examples\list_assets.json
python bridge\codex_blender_bridge.py examples\search_assets.json
python bridge\codex_blender_bridge.py examples\import_asset_from_library.json
```
拟合样本导入资产:
```powershell
python bridge\codex_blender_bridge.py examples\fit_sample_asset.json
```
检查当前场景:
```powershell
python bridge\codex_blender_bridge.py examples\inspect_scene.json
```
变换桌子顶部:
```powershell
python bridge\codex_blender_bridge.py examples\transform_tabletop.json
```
复制桌子腿:
```powershell
python bridge\codex_blender_bridge.py examples\duplicate_table_leg.json
```
动画桌子顶部:
```powershell
python bridge\codex_blender_bridge.py examples\animate_tabletop.json
```
应用渲染预设:
```powershell
python bridge\codex_blender_bridge.py examples\set_render_preset.json
```
添加参考图像平面:
```powershell
python bridge\codex_blender_bridge.py examples\add_reference_image.json
```
将图像纹理应用于对象:
```powershell
python bridge\codex_blender_bridge.py examples\apply_table_texture.json
```
将缩放图像纹理应用于对象:
```powershell
python bridge\codex_blender_bridge.py examples\apply_scaled_wood_texture.json
```
应用多贴图纹理材质:
```powershell
python bridge\codex_blender_bridge.py examples\apply_multimap_wood_texture.json
```
应用内置材质预设:
```powershell
python bridge\codex_blender_bridge.py examples\apply_material_preset.json
```
应用可重复使用的材质配方:
```powershell
python bridge\codex_blender_bridge.py examples\apply_material_recipe.json
```
设置参考相机:
```powershell
python bridge\codex_blender_bridge.py examples\setup_reference_camera.json
```
设置并排比较视图:
```powershell
python bridge\codex_blender_bridge.py examples\setup_compare_view.json
```
将当前场景导出为 GLB:
```powershell
python bridge\codex_blender_bridge.py examples\export_table_glb.json
```
将当前场景导出为 OBJ:
```powershell
python bridge\codex_blender_bridge.py examples\export_table_obj.json
```
导入本地资产:
```powershell
python bridge\codex_blender_bridge.py examples\import_asset.json
```
渲染当前场景:
```powershell
python bridge\codex_blender_bridge.py examples\render_scene.json
```
保存当前场景:
```powershell
python bridge\codex_blender_bridge.py examples\save_blend.json
```
检查骨骼:
```powershell
python bridge\codex_blender_bridge.py examples\inspect_rig.json
```
## 验证项目
在不启动 Blender 的情况下运行本地检查:
```powershell
python scripts\validate_project.py
```
## 示例命令
创建房间:
```json
{
"action": "create_room",
"params": {
"style": "modern_neon"
}
}
```
创建室外场景:
```json
{
"action": "create_outdoor_scene",
"params": {
"road_length": 32,
"road_width": 5,
"tree_count": 12,
"street_light_count": 6,
"style": "clean_suburban"
}
}
```
创建桌子模型:
```json
{
"action": "create_table_model",
"params": {
"length": 3.6,
"width": 2.0,
"height": 1.55,
"top_thickness": 0.24,
"corner_roundness": 0.14,
"include_grain": true,
"wood_color": [0.78, 0.47, 0.25, 1],
"style": "modern_wood"
}
}
```
创建椅子模型:
```json
{
"action": "create_chair_model",
"params": {
"width": 1.35,
"depth": 1.25,
"height": 2.25,
"seat_height": 0.95,
"cushion_thickness": 0.18,
"wood_color": [0.72, 0.45, 0.25, 1],
"fabric_color": [0.34, 0.48, 0.56, 1],
"style": "modern_wood"
}
}
```
创建沙发模型:
```json
{
"action": "create_sofa_model",
"params": {
"width": 3.2,
"depth": 1.35,
"height": 1.55,
"seat_height": 0.62,
"cushion_count": 3,
"cushion_gap": 0.035,
"fabric_color": [0.42, 0.54, 0.62, 1],
"leg_color": [0.42, 0.25, 0.14, 1],
"style": "modern_couch"
}
}
```
创建植物模型:
```json
{
"action": "create_plant_model",
"params": {
"height": 2.1,
"pot_radius": 0.42,
"pot_height": 0.58,
"leaf_count": 18,
"stem_count": 5,
"leaf_color": [0.20, 0.55, 0.34, 1],
"pot_color": [0.70, 0.62, 0.52, 1],
"style": "indoor_potted"
}
}
```
创建灯模型:
```json
{
"action": "create_lamp_model",
"params": {
"lamp_type": "floor",
"height": 2.4,
"shade_radius": 0.38,
"power": 520,
"metal_color": [0.23, 0.23, 0.22, 1],
"shade_color": [0.95, 0.86, 0.68, 1],
"style": "warm_modern"
}
}
```
创建家具套件:
```json
{
"action": "create_furniture_set",
"params": {
"table_length": 3.2,
"table_width": 1.55,
"chair_count": 4,
"include_plant": true,
"include_lamp": true,
"style": "compact_dining"
}
}
```
创建房间布局:
```json
{
"action": "create_room_layout",
"params": {
"preset": "living_room",
"style": "clean_modern"
}
}
```
列出资产:
```json
{
"action": "list_assets",
"params": {
"type": "texture",
"extension": "png"
}
}
```
将对象适应到边界:
```json
{
"action": "fit_object_to_bounds",
"params": {
"object": "sample_pyramid",
"target_size": [1.5, 1.5, 1.5],
"target_location": [0, 0, 0],
"align_to_floor": true
}
}
```
检查场景:
```json
{
"action": "inspect_scene",
"params": {
"include_hidden": false,
"type": "MESH"
}
}
```
变换对象:
```json
{
"action": "transform_object",
"params": {
"object": "rounded rectangular tabletop",
"location": [0, 0, 1.75],
"dimensions": [3.2, 1.7, 0.2]
}
}
```
复制对象:
```json
{
"action": "duplicate_object",
"params": {
"object": "front left tapered leg",
"count": 3,
"offset": [0.45, 0, 0],
"name_prefix": "extra table leg"
}
}
```
动画对象:
```json
{
"action": "animate_object",
"params": {
"object": "rounded rectangular tabletop",
"frame_start": 1,
"frame_end": 80,
"location_start": [0, 0, 1.55],
"location_end": [0, 0, 1.9],
"rotation_start": [0, 0, 0],
"rotation_end": [0, 0, 0.35]
}
}
```
设置渲染预设:
```json
{
"action": "set_render_preset",
"params": {
"preset": "preview"
}
}
```
添加参考图像:
```json
{
"action": "add_reference_image",
"params": {
"path": "assets/references/modern_table_reference.png",
"name": "table reference image",
"location": [0, 2.35, 1.55],
"rotation": [1.5708, 0, 0],
"width": 3.2,
"opacity": 0.85,
"unlit": true
}
}
```
应用纹理材质:
```json
{
"action": "apply_texture_material",
"params": {
"object": "rounded rectangular tabletop",
"base_color_path": "assets/textures/wood_basecolor.png",
"roughness_path": "assets/textures/wood_roughness.png",
"normal_path": "assets/textures/wood_normal.png",
"material_name": "wood tabletop texture",
"roughness": 0.45,
"metallic": 0.0,
"opacity": 1.0,
"texture_scale": [1.0, 1.0],
"texture_offset": [0.0, 0.0],
"texture_rotation": 0.0,
"projection": "uv",
"mode": "replace"
}
}
```
应用材质预设:
```json
{
"action": "apply_material_preset",
"params": {
"object": "darker tabletop underside",
"preset": "brushed_metal",
"material_name": "brushed metal underside preset",
"mode": "replace"
}
}
```
设置参考相机:
```json
{
"action": "setup_reference_camera",
"params": {
"reference_object": "table reference image",
"camera_location": [4.2, -5.4, 2.45],
"target": [0.0, 0.2, 1.15],
"lens": 32,
"resolution": [1280, 720],
"create_target": true
}
}
```
设置对比视图:
```json
{
"action": "setup_compare_view",
"params": {
"reference_object": "table reference image",
"mode": "side_by_side",
"reference_location": [2.25, 2.15, 1.55],
"reference_width": 2.5,
"camera_location": [4.8, -5.8, 2.65],
"target": [0.55, 0.55, 1.25],
"lens": 30,
"resolution": [1280, 720]
}
}
```
导出GLB:
```json
{
"action": "export_glb",
"params": {
"output": "exports/modern_table.glb",
"selected_only": false,
"include_materials": true
}
}
```
导出OBJ:
```json
{
"action": "export_obj",
"params": {
"output": "exports/modern_table.obj",
"selected_only": false
}
}
```
导入资产:
```json
{
"action": "import_asset",
"params": {
"path": "assets/models/sample_pyramid.obj",
"location": [0, 0, 0],
"rotation": [0, 0, 0],
"scale": 1.0
}
}
```
渲染场景:
```json
{
"action": "render_scene",
"params": {
"output": "renders/room.png",
"resolution": [1280, 720],
"samples": 32,
"timeout_seconds": 300
}
}
```
保存场景:
```json
{
"action": "save_blend",
"params": {
"output": "scenes/scene.blend"
}
}
```
## 支持的动作
支持 v1.7.3 版本的动作:
- `ping`
- `create_room`
- `create_outdoor_scene`
- `create_table_model`
- `create_primitive`
- `create_furniture_preset`
- `create_architecture_preset`
- `list_procedural_catalog`
- `create_chair_model`
- `create_sofa_model`
- `create_plant_model`
- `create_lamp_model`
- `create_furniture_set`
- `create_room_layout`
- `list_assets`
- `search_assets`
- `fit_object_to_bounds`
- `inspect_scene`
- `transform_object`
- `duplicate_object`
- `animate_object`
- `set_render_preset`
- `add_reference_image`
- `apply_texture_material`
- `apply_material_preset`
- `apply_material_recipe`
- `setup_reference_camera`
- `setup_compare_view`
- `export_glb`
- `export_obj`
- `create_scene_from_reference`
- `import_asset`
- `import_asset_from_library`
- `render_scene`
- `save_blend`
- `inspect_rig`
- `run_python`
`run_python` 在 Blender 中执行任意 Python 代码,仅限于可信的本地命令。
## Codex 技能和 MCP
此存储库包含:
```text
skills/blender/SKILL.md
scripts/codex_blender_mcp.py
.mcp.json
```
作为 Codex 插件/MCP 服务器连接时,它会暴露:
- `blender_health`
- `blender_create_room`
- `blender_create_outdoor_scene`
- `blender_create_table_model`
- `blender_create_primitive`
- `blender_create_furniture_preset`
- `blender_create_architecture_preset`
- `blender_list_procedural_catalog`
- `blender_create_chair_model`
- `blender_create_sofa_model`
- `blender_create_plant_model`
- `blender_create_lamp_model`
- `blender_create_furniture_set`
- `blender_create_room_layout`
- `blender_list_assets`
- `blender_search_assets`
- `blender_fit_object_to_bounds`
- `blender_inspect_scene`
- `blender_transform_object`
- `blender_duplicate_object`
- `blender_animate_object`
- `blender_set_render_preset`
- `blender_add_reference_image`
- `blender_apply_texture_material`
- `blender_apply_material_preset`
- `blender_apply_material_recipe`
- `blender_setup_reference_camera`
- `blender_setup_compare_view`
- `blender_export_glb`
- `blender_export_obj`
- `blender_create_scene_from_reference`
- `blender_import_asset`
- `blender_import_asset_from_library`
- `blender_render_scene`
- `blender_save_blend`
- `blender_inspect_rig`
- `blender_command`
仍需要启用 Blender 插件,并且桥接服务必须正在运行。
## 开发模式
普通用户只需 `启动桥接` 和 `停止桥接`。
对于插件开发:
1. 在插件首选项或侧边栏中启用 `开发者模式`。
2. 将 `源文件` 设置为此存储库的 `blender_addon/codex_blender_addon.py`。
3. 在更改插件后,点击 `重新加载桥接代码`。
这样可以避免在开发过程中卸载和重新安装插件。
## 故障排除
如果桥接服务无法访问:
- 确保 Blender 已打开。
- 确保 `Codex Blender Bridge` 已启用。
- 在 `Codex` 侧边栏选项卡中点击 `启动桥接`。
- 检查 `http://127.0.0.1:8765/health`。
如果某个操作显示为 `不支持的操作`:
- Blender 正在运行一个较旧的加载的插件副本。
- 在开发模式下,点击 `重新加载桥接代码`。
- 对于普通用户,重启 Blender 或重新安装更新的插件。
如果命令返回 `ObjectNotFound`,请运行 `inspect_scene` 并从响应中复制确切的对象名称。如果命令返回 `PathNotFound`,请检查文件是否存在,并优先使用项目相对路径,如 `assets/models/sample_pyramid.obj`、`assets/textures/oak_wood_basecolor.png` 或 `assets/references/modern_table_reference.png`。
如果资产导入失败:
- 将模型放在 `assets/models/` 下。
- 使用支持的文件类型:`.glb`、`.gltf`、`.fbx` 或 `.obj`。
- 使用相对路径,如 `assets/models/sample_pyramid.obj`,或绝对路径。
更多详细的故障排除信息请参见:
```text
docs/troubleshooting.md
```
## 纹理
对于快速的模型雏形,简单的程序颜色就足够了。对于更接近的视觉匹配,请将纹理文件放在以下目录下:
```text
assets/textures/
```
推荐的纹理映射:
- `basecolor` 或 `albedo`:可见颜色。
- `roughness`:光泽控制。
- `normal`:假表面细节,如木纹或织物编织。
- `metallic`:金属/非金属控制。
- `alpha`:透明度,对于玻璃、贴纸和剪切很有用。
参考图像应放在以下目录下:
```text
assets/references/
```
`apply_texture_material` 支持通过 `path` 或 `base_color_path` 使用一个基本颜色图像,以及可选的 `roughness_path`、`normal_path`、`metallic_path` 和 `alpha_path`。使用它来处理用户提供的木材、织物、石头、标签、贴纸或图案图像。使用 `texture_scale`、`texture_offset`、`texture_rotation` 和 `projection` 来调整放置位置。
有关生成的纹理存储、命名、源选择和渲染调整循环,请参见 `docs/texture-generation.md`。
无需外部 AI 依赖即可生成本地程序纹理:
```powershell
python scripts\generate_procedural_texture.py wood assets\textures\generated\procedural_wood_basecolor.png --width 512 --height 512 --seed 71
```
注册用户提供的纹理图像:
```powershell
python scripts\register_user_texture.py assets\textures\oak_wood_basecolor.png --name "Registered Oak Wood User Texture" --asset-id registered_oak_wood_user_texture --destination assets\textures\generated\registered_oak_wood_user_texture.png --dry-run
```
将用户纹理应用于导入/生成的模型并渲染:
```powershell
python bridge\codex_blender_bridge.py examples\apply_user_texture_to_generated_model.json
python bridge\codex_blender_bridge.py examples\render_user_texture_model.json
```
内置材质预设可通过 `apply_material_preset` 使用:
- `wood_oak`
- `fabric_soft`
- `brushed_metal`
- `glass_clear`
- `matte_plastic`
可重用的材质配方存储在 `assets/material_recipes.json` 中,可以通过 `apply_material_recipe` 应用。配方结合了着色器值、可选的纹理映射路径、默认纹理缩放比例和投影设置。
如果渲染或保存输出到了错误的位置:
- 从项目文件夹运行桥接命令。
- 使用明确的输出路径,如 `renders/room.png` 或 `scenes/scene.blend`。
- 在 Windows 上,引用 UNC 路径和带有空格的路径。参见 `docs/windows-paths.md`。
## 路线图
- 更多可重用的场景构建操作。
- 资产拟合和放置助手。
- 材质和纹理助手。
- 带有动画的模型动画助手。
- 更容易的本地安装。
- 更干净的 Codex 插件安装流程。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器