Blender 3.5脚本修改几何节点参数后视图无法自动更新
解决Blender几何节点参数修改后视图不刷新的问题
问题排查与修复点
- 代码拼写错误:原代码里的
"Cube tranform"少了字母s,应为"Cube transform"——即便你说参数已更新,这个错误仍可能导致后续逻辑异常。 - 几何节点刷新机制特殊:
view_layer.update()仅对常规修改器有效,几何节点依赖Blender的依赖图计算,需要针对性触发更新。
修正后的代码
import bpy # 直接获取Cube对象,避免依赖上下文的操作 cube_obj = bpy.data.objects.get("Cube") if cube_obj: # 获取目标几何节点修改器 geo_modifier = cube_obj.modifiers.get("Cube transform") if geo_modifier: # 修改几何节点输入参数(参数名需与节点输入对应) geo_modifier["Input_2"] = 10 # 强制刷新依赖图,同步几何节点计算结果到视图 bpy.context.evaluated_depsgraph_get().update() # 可选:更新对象数据确保视图完全同步 cube_obj.data.update()
关键说明
- 用
get()方法获取对象/修改器比依赖bpy.ops更稳定,不受当前操作上下文影响。 evaluated_depsgraph_get().update()会强制重新计算依赖图,确保几何节点的修改实时反映在视图中。
节点参考图
几何节点输入:
节点设置:
内容的提问来源于stack exchange,提问作者Waste2Arts
相关产品推荐
相关产品推荐

