text-to-blender
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseText-to-Blender Orchestrator
文本转Blender协调器
Turn plain-English requests into Blender work. You are the conductor: read the request, decide which sub-skills to chain-load, sequence them in the right order, and execute via the Blender MCP.
将通俗易懂的英文请求转化为Blender操作。你作为协调者:读取请求,决定链式加载哪些子技能,按正确顺序排列,并通过Blender MCP执行。
Multi-skill harmonization
多技能协调
For complex tasks that trigger multiple Blender skills, especially reference/template/brand work, load before choosing the execution order. It owns precedence, handoff artifacts, and conflict policy.
blender-skill-harmonizerIf the user rejects an output as sub-par, says the same issue is recurring, or asks to improve the skill stack before retrying, load before further product work. It turns evidence into a sanitized reusable lesson, patches generic skills/docs/versioning when explicitly requested, and only then resumes the Blender repair loop.
quality-refinement-autoloop对于触发多个Blender技能的复杂任务,尤其是参考/模板/品牌相关工作,请在选择执行顺序前加载。它负责优先级处理、任务交接工件和冲突策略。
blender-skill-harmonizer如果用户认为输出质量不佳、表示同一问题反复出现,或要求在重试前优化技能栈,请在进一步操作前加载。它会将问题证据转化为可复用的标准化经验,在明确请求时修补通用技能/文档/版本控制,之后再恢复Blender修复流程。
quality-refinement-autoloopHow this skill works
本技能工作流程
The user speaks in tasks ("render a hero shot of a sword on a stone"); you:
- Identify intent → which capabilities are needed (modeling? materials? lighting? rendering? export?).
- Check prerequisites → MCP server reachable, scene state.
- Reset world to a known-good baseline (see World reset below) — prevents leftover broken HDRI / Environment Texture nodes from previous runs corrupting the render.
- Look up real-world dimensions for the subject () BEFORE generating Python. A "sword" has specific proportions; a "chair" has specific proportions; do not guess.
references/common-object-dimensions.md - Route to sub-skills → load the relevant ones via and follow their instructions.
Read - Sequence the work in the order pros use (see ).
references/assembly-order.md - Execute generated Python via .
mcp__blender__execute_blender_code - Validate with ,
mcp__blender__get_scene_info, ANDget_object_info— see Visual validation checkpoint below. Numerical validation alone is not enough: the API can report success while geometry is grossly wrong.get_viewport_screenshot - Iterate — if the visual check shows an obvious problem (subject barely visible, wrong proportions, wrong orientation), fix and re-render BEFORE reporting success.
- Report to the user with concrete numbers AND a path to the proof render they can inspect.
用户提出任务(如“渲染石头上的剑的特写镜头”),你需要:
- 识别意图 → 需要哪些功能(建模?材质?灯光?渲染?导出?)。
- 检查先决条件 → MCP服务器是否可达、场景状态。
- 重置场景至已知良好基准(见下方「场景重置」)——避免之前运行留下的损坏HDRI/环境纹理节点破坏渲染效果。
- 查找对象真实尺寸(参考)在生成Python代码之前。“剑”有特定比例;“椅子”也有特定比例;请勿猜测。
references/common-object-dimensions.md - 路由到子技能 → 通过加载相关子技能并遵循其指示。
Read - 排序 → 按照专业人员的操作顺序执行(见)。
references/assembly-order.md - 执行 → 通过运行生成的Python代码。
mcp__blender__execute_blender_code - 验证 → 使用、
mcp__blender__get_scene_info以及**get_object_info**——见下方「视觉验证检查点」。仅数值验证不够:API可能报告成功,但几何体可能严重错误。get_viewport_screenshot - 迭代 —— 如果视觉检查发现明显问题(对象几乎不可见、比例错误、方向错误),请修复并重新渲染,然后再报告成功。
- 汇报 → 向用户提供具体数据以及他们可查看的渲染成果路径。
World reset (always step 3, before any composition)
场景重置(始终为第3步,在任何合成操作之前)
Previous tests can leave the scene's world in a broken state — particularly an node with cascading into Background, which produces a magenta-flooded render. Reset world to a neutral baseline at the start of every scene-build:
Environment Textureimage=Nonepython
def reset_world(scene, color=(0.04, 0.04, 0.05, 1.0), strength=0.4):
world = scene.world
world.use_nodes = True
nodes = world.node_tree.nodes
for n in list(nodes):
nodes.remove(n)
output = nodes.new('ShaderNodeOutputWorld')
bg = nodes.new('ShaderNodeBackground')
bg.inputs['Color'].default_value = color
bg.inputs['Strength'].default_value = strength
world.node_tree.links.new(bg.outputs['Background'], output.inputs['Surface'])If the user wants HDRI lighting, override this AFTER it runs (load the actual file and verify ).
.hdrenv.image is not None之前的测试可能会导致场景世界处于损坏状态——尤其是节点的会导致背景出现洋红色泛滥的渲染问题。在每次场景构建开始时,将世界重置为中性基准:
Environment Textureimage=Nonepython
def reset_world(scene, color=(0.04, 0.04, 0.05, 1.0), strength=0.4):
world = scene.world
world.use_nodes = True
nodes = world.node_tree.nodes
for n in list(nodes):
nodes.remove(n)
output = nodes.new('ShaderNodeOutputWorld')
bg = nodes.new('ShaderNodeBackground')
bg.inputs['Color'].default_value = color
bg.inputs['Strength'].default_value = strength
world.node_tree.links.new(bg.outputs['Background'], output.inputs['Surface'])如果用户需要HDRI灯光,请在重置完成后覆盖此设置(加载实际的文件并验证)。
.hdrenv.image is not NoneVisual validation checkpoint (always between steps 8 and 10)
视觉验证检查点(始终在第8步和第10步之间)
After rendering, always:
- Call (or read the rendered file with
mcp__blender__get_viewport_screenshot).Read - Visually verify against the user's request. Specifically:
- Subject is visible and recognisable (not a thin streak, not magenta-flooded, not entirely in shadow)
- Proportions match the real-world reference dimensions for that subject
- Composition is reasonable (subject in frame, not clipped at edges, not microscopic in one corner)
- Materials have visible variation (not perfectly flat plastic-looking surfaces) — for production-quality scenes, add procedural texture nodes
- If the render is obviously wrong, do NOT report success. Iterate: identify the specific problem, fix it, re-render, re-check.
A render passing every numerical check (object count, vertex count, file size, no error messages) can still look completely wrong. The user only sees the picture. Make sure the picture matches the request before declaring done.
渲染完成后,必须:
- 调用(或通过
mcp__blender__get_viewport_screenshot读取渲染文件)。Read - 对照用户请求进行视觉验证,具体包括:
- 对象可见且可识别(不是细线条、没有洋红色泛滥、未完全处于阴影中)
- 比例与该对象的真实参考尺寸匹配
- 构图合理(对象在画面中、未被边缘裁剪、未缩放在角落)
- 材质有可见变化(不是完全平坦的塑料质感表面)——对于生产级场景,添加程序化纹理节点
- 如果渲染明显错误,请勿报告成功。迭代修复:识别具体问题,修复后重新渲染并再次检查。
即使所有数值检查(对象数量、顶点数量、文件大小、无错误信息)都通过,渲染结果仍可能完全不符合预期。用户只看最终画面,请确保画面符合请求后再宣告完成。
Set viewport to Material Preview mode (last step before reporting)
将视口设置为材质预览模式(汇报前的最后一步)
The user is often looking at Blender's viewport, not the rendered file. Blender defaults the viewport to Solid shading mode which ignores all materials and shows everything as flat grey. After scene assembly, switch the viewport to Material Preview so the user actually sees the materials they got:
python
import bpy
for area in bpy.context.screen.areas:
if area.type == 'VIEW_3D':
for space in area.spaces:
if space.type == 'VIEW_3D':
space.shading.type = 'MATERIAL' # or 'RENDERED' for full quality
space.shading.use_scene_lights = True
space.shading.use_scene_world = TrueSkip this only when the user has explicitly asked you to leave the viewport alone.
用户通常查看Blender的视口而非渲染文件。Blender默认视口为实体着色模式,会忽略所有材质,显示为纯灰色。场景组装完成后,将视口切换为材质预览模式,让用户能实际看到应用的材质:
python
import bpy
for area in bpy.context.screen.areas:
if area.type == 'VIEW_3D':
for space in area.spaces:
if space.type == 'VIEW_3D':
space.shading.type = 'MATERIAL' # 或选择'RENDERED'以获得完整画质
space.shading.use_scene_lights = True
space.shading.use_scene_world = True仅当用户明确要求保留视口设置时才跳过此步骤。
Real-world dimension lookup
真实尺寸查找
Before sizing any subject from natural language, consult . It lists realistic proportions for common requests:
references/common-object-dimensions.md| Subject | Total | Notes |
|---|---|---|
| One-handed sword | ~95-100 cm long | Blade 78cm × 4.5cm × 0.8cm; guard 20cm × 2.5cm; grip 13cm; pommel 5.6cm |
| Chair | seat ~45cm × 45cm × 4cm | Seat height 45cm; back ~45cm tall |
| Bottle | 25-30cm tall | Body ø8-10cm; neck ø2-3cm |
The full reference list lives in . Do not guess.
references/common-object-dimensions.md在根据自然语言确定任何对象的尺寸之前,请查阅。其中列出了常见请求对象的真实比例:
references/common-object-dimensions.md| 对象 | 尺寸 | 说明 |
|---|---|---|
| 单手剑 | 约95-100厘米长 | 剑身78cm × 4.5cm × 0.8cm;护手20cm × 2.5cm;握柄13cm;剑柄尾端5.6cm |
| 椅子 | 座椅约45cm × 45cm × 4cm | 座椅高度45cm;椅背约45cm高 |
| 瓶子 | 25-30厘米高 | 瓶身直径8-10cm;瓶颈直径2-3cm |
完整参考列表位于,请勿猜测。
references/common-object-dimensions.mdPrerequisites — always check first
先决条件——始终先检查
Before any work, verify:
-
Blender MCP is reachable. Call. If it errors with "Could not connect to Blender":
mcp__blender__get_scene_info"Blender's MCP addon isn't running. Start Blender, enable the BlenderMCP addon (port 9876 default), then re-run."Stop and ask the user to fix this. -
Scene state.returns the current objects. Decide:
get_scene_info- Empty scene? → Start fresh; build from primitives.
- Existing objects? → Operate on them; do NOT delete unless asked.
- Default cube only? → Probably safe to delete ().
bpy.ops.object.delete()
-
The user's actual request. If ambiguous, ask one question. Otherwise proceed with sensible defaults.
开始任何工作前,请验证:
-
Blender MCP是否可达。调用。如果返回错误“Could not connect to Blender”:
mcp__blender__get_scene_info"Blender的MCP插件未运行。请启动Blender,启用BlenderMCP插件(默认端口9876),然后重新运行。"停止操作并请用户解决此问题。 -
场景状态。会返回当前对象。请判断:
get_scene_info- 空场景? → 从头开始;从基本几何体构建。
- 已有对象? → 对其进行操作;除非用户要求,否则请勿删除。
- 仅默认立方体? → 通常可以安全删除()。
bpy.ops.object.delete()
-
用户的实际请求。如果请求模糊,请询问一个问题。否则使用合理默认值继续。
Intent → sub-skill routing table
意图→子技能路由表
For each intent the user expresses, load (via ) the matching sub-skill's and follow its patterns. Multiple intents = chain multiple sub-skills.
ReadSKILL.md| User intent (paraphrased) | Load these sub-skills | Order |
|---|---|---|
| "Make a 3D model of X" | | 1st |
| "From this wireframe drawing" | | 1st |
| "Use these materials / make it look like X" | | After modeling |
| "Light it / studio setup / cinematic" | | After geometry exists |
| "Hero shot / camera angle / DoF" | | After lighting |
| "Render it / produce an image" | | Last visual step |
| "Animate / move / rotate over time" | | After geometry |
| "Export as glTF / FBX / OBJ / for web / for Unity" | | Final step |
| "Set up a scene / production-quality result" | | First — guides everything |
| "I'm new / not sure where to start" | | First |
| "This is sub-par / still wrong / same issue again" | | First — learn, sanitize, patch, then retry |
| "Match these templates / wireframes / textures exactly" | | First — establish source-of-truth gates |
Multi-intent example: "Model a sword with materials, light it dramatically, and export as glTF" →
- (sequencing strategy)
blender-pro-workflow - (sword geometry)
blender-modeling - (steel + leather grip)
blender-materials - (dramatic 1-point or rim setup)
blender-lighting - (glTF settings)
blender-export
对于用户表达的每个意图,通过加载匹配子技能的并遵循其模式。多个意图=链式加载多个子技能。
ReadSKILL.md| 用户意图(转述) | 加载的子技能 | 顺序 |
|---|---|---|
| "创建X的3D模型" | | 第1步 |
| "根据此线稿图创建" | | 第1步 |
| "使用这些材质/让它看起来像X" | | 建模之后 |
| "打光/工作室设置/电影级效果" | | 几何体创建之后 |
| "特写镜头/相机角度/景深" | | 打光之后 |
| "渲染/生成图像" | | 最后视觉步骤 |
| "制作动画/移动/随时间旋转" | | 几何体创建之后 |
| "导出为glTF/FBX/OBJ/用于web/用于Unity" | | 最终步骤 |
| "搭建场景/生产级成果" | | 第一步——指导所有操作 |
| "我是新手/不确定从哪里开始" | | 第一步 |
| "这个质量不佳/仍然错误/同一问题再次出现" | | 第一步——学习、标准化、修补,然后重试 |
| "完全匹配这些模板/线稿/纹理" | | 第一步——建立事实来源标准 |
多意图示例:"建模一把带材质的剑,进行戏剧性打光,并导出为glTF格式" →
- (排序策略)
blender-pro-workflow - (剑的几何体)
blender-modeling - (钢材质+皮革握柄)
blender-materials - (戏剧性单点光或轮廓光设置)
blender-lighting - (glTF设置)
blender-export
Pro assembly order (when in doubt)
专业组装顺序(不确定时遵循)
This order minimizes rework. When the user gives a multi-step request, follow it:
- Reference + plan — note the goal.
- Block-out — primitives + camera + composition. Cheapest to iterate.
- Camera lock — pick focal length, frame the shot.
- Light v1 — three-point (key/fill/rim) before any material work. Light defines mood.
- Refine geometry — replace primitives with real models.
- Materials v1 — flat colors first, get values right.
- Light v2 — color + ratios.
- Detail pass — only after the above is right.
- Final render — production samples + denoise.
- Composite — color grade, glare, vignette.
- Export — for the target platform.
Source: (deeper rationale).
references/assembly-order.md此顺序可最大限度减少返工。当用户提出多步骤请求时,请遵循此顺序:
- 参考+规划 —— 明确目标。
- 粗模搭建 —— 基本几何体+相机+构图。此阶段迭代成本最低。
- 锁定相机 —— 选择焦距,取景。
- 灯光v1 —— 在任何材质工作前设置三点布光(主光/补光/轮廓光)。灯光决定氛围。
- 细化几何体 —— 用真实模型替换基本几何体。
- 材质v1 —— 先使用纯色,确保数值正确。
- 灯光v2 —— 调整颜色+比例。
- 细节处理 —— 仅在上述步骤完成后进行。
- 最终渲染 —— 生产级采样+降噪。
- 合成 —— 颜色分级、眩光、暗角。
- 导出 —— 针对目标平台。
来源:(更详细的原理说明)。
references/assembly-order.mdCode-execution rules — non-negotiable
代码执行规则——不可协商
When emitting Python for :
mcp__blender__execute_blender_code- Each call is a fresh namespace. Only is pre-imported; re-import
bpy,math,bmesh, etc. each call.numpy - Identify objects by stable name, never by Python variable. works across calls; a
bpy.data.objects['GEO-sword']assignment does not.sword = ... - Print structured output so you can parse it back. End each chunk with reporting what changed (object names, vertex counts, file paths).
print(f"...") - Chunk the work. 180-second timeout per call. Don't dump 500 lines in one call — split into ~5–20-line chunks.
- Use Blender Studio naming conventions for everything you create: ,
GEO-,MAT-,LGT-,CAM-,ARM-. Never leave anything asCOL-.Cube.027
当生成用于的Python代码时:
mcp__blender__execute_blender_code- 每次调用都是全新命名空间。仅预导入;每次调用都需重新导入
bpy、math、bmesh等模块。numpy - 通过稳定名称识别对象,绝不要使用Python变量。可跨调用生效;而
bpy.data.objects['GEO-sword']的赋值则不行。sword = ... - 输出结构化内容以便解析。每个代码块末尾添加报告更改内容(对象名称、顶点数量、文件路径)。
print(f"...") - 拆分工作。每次调用超时时间为180秒。不要一次性提交500行代码——拆分为约5-20行的代码块。
- 使用Blender Studio命名规范命名所有创建的对象:、
GEO-、MAT-、LGT-、CAM-、ARM-。绝不要保留默认名称如COL-。Cube.027
Standard skeleton for every operation
所有操作的标准框架
python
import bpypython
import bpy(re-import other modules here as needed)
(根据需要在此重新导入其他模块)
1. Scope: identify or create objects by NAME
1. 范围:通过名称识别或创建对象
obj = bpy.data.objects.get('GEO-target') or bpy.data.objects.new('GEO-target', None)
obj = bpy.data.objects.get('GEO-target') or bpy.data.objects.new('GEO-target', None)
2. Do the work
2. 执行操作
...
...
3. Report
3. 汇报
print(f"done:GEO-target {len(obj.data.vertices) if obj.data else 0}")
undefinedprint(f"done:GEO-target {len(obj.data.vertices) if obj.data else 0}")
undefinedNaming conventions (apply to everything you create)
命名规范(适用于所有创建的对象)
| Prefix | Meaning |
|---|---|
| Geometry / mesh objects |
| Materials |
| Lights |
| Cameras |
| Armatures (rigs) |
| Collections |
| Custom bone shapes / widgets |
Suffix / for left/right. Examples: , , .
.L.RGEO-sword_bladeMAT-steel_brushedLGT-key| 前缀 | 含义 |
|---|---|
| 几何体/网格对象 |
| 材质 |
| 灯光 |
| 相机 |
| 骨架(绑定) |
| 集合 |
| 自定义骨骼形状/控件 |
使用后缀/表示左/右。示例:、、。
.L.RGEO-sword_bladeMAT-steel_brushedLGT-keyValidation rule of thumb
验证经验法则
After significant work, call and verify:
mcp__blender__get_scene_info- Expected objects exist with correct names.
- Object counts make sense (no runaway duplication).
- Polycount roughly matches target.
Before reporting success on a render or export, confirm the file actually exists (use : ).
Bashls -la /path/to/output完成重要操作后,调用并验证:
mcp__blender__get_scene_info- 预期对象存在且名称正确。
- 对象数量合理(无失控重复)。
- 多边形数量大致符合目标。
在报告渲染或导出成功前,请确认文件实际存在(使用命令:)。
Bashls -la /path/to/outputWhen to load deeper references
何时加载深度参考文档
- — the canonical scene-assembly sequence, time budgets, recovery patterns. Load when planning a multi-step pipeline or when the user asks "what's the right order?".
references/assembly-order.md - — fuller intent-to-skill mapping with edge cases. Load when the request is ambiguous and you need to disambiguate.
references/intent-routing.md - — detailed rules for
references/code-execution-rules.md(namespace, timeouts, stdout capture). Load when tracking down execution errors.execute_blender_code
- —— 标准场景组装顺序、时间预算、恢复模式。在规划多步骤流程或用户询问“正确顺序是什么?”时加载。
references/assembly-order.md - —— 更完整的意图-技能映射,包含边缘情况。当请求模糊需要明确时加载。
references/intent-routing.md - ——
references/code-execution-rules.md的详细规则(命名空间、超时、标准输出捕获)。在排查执行错误时加载。execute_blender_code
Reporting back to the user
向用户汇报
When work is done, report concretely:
- ✅ Created: list objects + polycounts.
- ✅ Lit: list lights + their roles.
- ✅ Rendered: file path + size + dimensions + render time.
- ⚠️ Warnings: any auto-decimation, naming conflicts, fallback materials.
Example:
Created(1 240 verts),GEO-sword_blade(320 verts).GEO-sword_grip
Materials:,MAT-steel_brushed.MAT-leather_dark
Lit with(warm 3200K),LGT-key(cool 5500K),LGT-fill(cool blue).LGT-rim
Rendered to(1920×1080, 2.3 MB, 38 s with 256 samples + OptiX denoise)./tmp/sword_hero.png
工作完成后,提供具体汇报:
- ✅ 已创建:列出对象+多边形数量。
- ✅ 已打光:列出灯光及其作用。
- ✅ 已渲染:文件路径+大小+尺寸+渲染时间。
- ⚠️ 警告:任何自动减面、命名冲突、 fallback材质。
示例:
已创建(1240个顶点)、GEO-sword_blade(320个顶点)。GEO-sword_grip
材质:、MAT-steel_brushed。MAT-leather_dark
灯光:(暖光3200K)、LGT-key(冷光5500K)、LGT-fill(冷蓝色)。LGT-rim
渲染输出至(1920×1080,2.3 MB,38秒,256采样+OptiX降噪)。/tmp/sword_hero.png
Failure modes — what to do when…
故障处理——出现以下问题时该怎么做
| Problem | Action |
|---|---|
| MCP timeout | Break the failing chunk into smaller pieces |
| Read the error; fix that one line; retry |
| Object not found in next call | You used a Python var instead of |
| Render took too long | Reduce samples, enable adaptive sampling, lower resolution |
| File not at expected path | Use absolute paths; verify with Bash |
| Material looks wrong after export | You used non-Principled-BSDF nodes; rebuild material with Principled only |
| Blender 5.x layered Actions; walk |
| Blender 5.x renamed it back to |
| Blender 5.x marks some BSDF inputs |
| |
| User reports "scene is grey / no materials visible" while looking at Blender's viewport | Blender viewport defaults to Solid shading mode which ignores materials. The render is correct; only the viewport looks grey. After every scene assembly, set viewport to Material Preview: |
| User reports "materials look flat / no texture" | Flat PBR colors lack surface variation. Add procedural textures (Noise/Voronoi → ColorRamp → Roughness or Bump) for steel scratches, hammered metal, leather grain, etc. See |
| Subject looks wrongly proportioned (e.g. blade too short, chair too narrow) | The orchestrator skipped the dimension lookup. Always read |
| User asks for a "human" / "character" / "face" / "person" | Pure-recipe primitives produce a recognisable silhouette only, NOT a human face. Suggest one of: (a) |
| Elongated subject renders as a thin pole instead of a recognisable shape | Camera viewing the thin axis of an elongated object. Rotate the object so its broad axis faces the camera. See |
| Blade/spike has a "chiseled flat" tip instead of a point | Top vertices were scaled toward zero but not merged. Use the proper tapering recipe in |
| Coloured glass renders flat/metallic instead of "glass-like" | Tint set on |
| Glass renders black on the inside | |
| 问题 | 操作 |
|---|---|
| MCP超时 | 将失败的代码块拆分为更小的部分 |
| 读取错误信息;修复对应行代码;重试 |
| 下一次调用中找不到对象 | 你使用了Python变量而非 |
| 渲染耗时过长 | 减少采样数、启用自适应采样、降低分辨率 |
| 文件不在预期路径 | 使用绝对路径;通过Bash命令 |
| 导出后材质显示错误 | 你使用了非Principled-BSDF节点;仅使用Principled节点重建材质 |
| Blender 5.x采用分层Actions;改用 |
| Blender 5.x将其改回 |
| Blender 5.x将部分BSDF输入标记为 |
| |
| 用户反馈“场景是灰色的/看不到材质”(查看Blender视口时) | Blender视口默认使用实体着色模式,会忽略材质。渲染结果正确,只是视口显示为灰色。每次场景组装完成后,将视口设置为材质预览模式: |
| 用户反馈“材质看起来很平坦/没有纹理” | 纯PBR颜色缺乏表面变化。添加程序化纹理(Noise/Voronoi → ColorRamp → Roughness或Bump)模拟钢划痕、锻打金属、皮革纹理等效果。查看 |
| 对象比例错误(如剑身太短、椅子太窄) | 协调器跳过了尺寸查找步骤。生成建模代码前务必读取 |
| 用户请求“人类”/“角色”/“人脸”/“人物” | 纯方案生成的基本几何体仅能产生可识别的轮廓,无法生成人脸。建议选择以下方案之一:(a) 使用 |
| 细长对象渲染为细杆而非可识别形状 | 相机正对细长对象的细轴。旋转对象使其宽轴朝向相机。查看 |
| 剑刃/尖刺的尖端是“凿平的平面”而非尖点 | 顶部顶点被缩放到零但未合并。使用 |
| 有色玻璃渲染为平坦/金属质感而非“玻璃质感” | 仅在Principled BSDF的 |
| 玻璃内部渲染为黑色 | |
What this skill is NOT for
本技能不适用的场景
- Heavy custom GPU work / writing a render engine (use Blender's existing engines)
- Real-time game logic (use Unity / Unreal directly)
- Sculpting strokes from natural language (sculpting is gestural; use brushes interactively)
- Things outside Blender's capabilities (CAD precision modeling — use FreeCAD; CFD simulation — use Blender's Mantaflow only for VFX-quality, not engineering)
When the user asks for these, redirect them politely and explain.
- 繁重的自定义GPU工作/编写渲染引擎(使用Blender现有引擎)
- 实时游戏逻辑(直接使用Unity/Unreal)
- 通过自然语言生成雕刻笔触(雕刻是手势操作;请交互式使用画笔)
- Blender能力之外的任务(CAD精密建模——使用FreeCAD;CFD模拟——仅将Blender的Mantaflow用于VFX级效果,而非工程用途)
当用户请求这些内容时,请礼貌地引导他们并说明原因。",