【问题标题】:A Python function in Blender 3.0 seems to be forcing Blender to crashBlender 3.0 中的一个 Python 函数似乎迫使 Blender 崩溃
【发布时间】:2022-01-24 15:04:48
【问题描述】:

更新到 Blender 3.0 后,我的一个功能似乎是立即关闭 Blender。

整个函数:

# Loops through each collection and disables every object from viewport and render.
def disableAllObjs():
    for collection in bpy.data.collections:
        if collection.name != "Collection":
            for obj in collection.all_objects:
                obj.hide_viewport = True
                obj.hide_render = True

我做了一些调试,特别是这部分它坏了:

obj.hide_viewport = True
obj.hide_render = True

我不确定这么快禁用所有功能是否会使 Blender 过载,但这在 2.93 中运行良好。在循环之外使用该代码在单个对象上可以正常工作,但会在循环中中断。任何帮助表示赞赏。

【问题讨论】:

    标签: python scripting blender


    【解决方案1】:

    感谢您的提问。这是一个错误,值得报告,但由于您想隐藏集合中的所有对象,您可以使用集合的隐藏属性。

    如下:

    def disableAllObjs():
    for collection in bpy.data.collections:
        if collection.name != "Collection":
            collection.hide_viewport = True
            collection.hide_render = True
    

    【讨论】:

    • 我想禁用所有然后启用该集合中的单个对象,所以这实际上不起作用。我已将此错误上传到 Blender 论坛,这是一个已知的带有解决方法的错误。不过,感谢您的帮助。
    猜你喜欢
    • 2021-07-10
    • 2022-06-21
    • 2015-11-13
    • 2021-02-09
    • 2017-08-21
    • 1970-01-01
    • 2018-07-07
    • 2020-10-09
    • 1970-01-01
    相关资源
    最近更新 更多