Blender 插件问题 - 更改世界颜色

问题描述 投票:0回答:1

有没有办法添加一个选项来通过按钮更改世界表面颜色强度设置?

我已经对面板和所有内容进行了编码,但也许它只是基于我目前拥有的特定上下文:

world = context.world
这会删除我创建的标签中的所有内容。这让我很困惑,也许那里或这里已经有类似的问题,但我还没有找到。如果是这样的话,我对重复的问题表示歉意。

谢谢你。

import bpy

class Panel(bpy.types.Panel):
    bl_label = "Panel"
    bl_idname = "PT_PANEL"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = 'Panel'
    
    def draw(self, context):
        layout = self.layout
        
        #world = context.world

        row = layout.row()
        row.label(text="Select a shader")
        row.operator()


def register():
    bpy.utils.register_class(Panel)


def unregister():
    bpy.utils.unregister_class(Panel)


if __name__ == "__main__":
    register()
python blender
1个回答
0
投票

当您提到世界表面和颜色时,您的意思并不完全清楚,但我假设您指的是场景的“世界属性”面板中默认世界上的默认表面。

在这种情况下,您可以按如下方式设置颜色和强度:

import bpy

# Set the color to green
bpy.data.worlds["World"].node_tree.nodes["Background"].inputs[0].default_value = [0,1,0,1]
# Set the strength to 0.5
bpy.data.worlds["World"].node_tree.nodes["Background"].inputs[1].default_value = 0.5
© www.soinside.com 2019 - 2024. All rights reserved.