有没有办法添加一个选项来通过按钮更改世界表面颜色和强度设置?
我已经对面板和所有内容进行了编码,但也许它只是基于我目前拥有的特定上下文:
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()
当您提到世界表面和颜色时,您的意思并不完全清楚,但我假设您指的是场景的“世界属性”面板中默认世界上的默认表面。
在这种情况下,您可以按如下方式设置颜色和强度:
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