【发布时间】:2014-07-13 02:21:59
【问题描述】:
我正在 Blender 中自学 Python,并尝试使用脚本创建一个简单的运算符。脚本如下 - 它的目的是在场景中选择四个(聚光灯)灯并改变它们的能量(基本上是打开和关闭灯)。但是当我尝试运行脚本时,我收到“Python 脚本失败”错误消息。谁能看出代码有什么问题?
import bpy
def main(context):
for ob in context.scene.objects:
print(ob)
class LightsOperator(bpy.types.Operator):
bl_idname = "object.lights_operator"
bl_label = "Headlight Operator"
@classmethod
def poll(cls, context):
return context.active_object is not None
def execute(self, context):
light1 = bpy.data.objects['headlight1']
light2 = bpy.data.objects['headlight2']
light3 = bpy.data.objects['headlight3']
light4 = bpy.data.objects['headlight4']
if light1.energy==0.0:
light1.energy = 0.8
else:
light1.energy = 0.0
if light2.energy==0.0:
light2.energy = 0.8
else:
light2.energy = 0.0
if light3.energy==0.0:
light3.energy = 0.8
else:
light3.energy = 0.0
if light4.energy==0.0:
light4.energy = 0.8
else:
light4.energy = 0.0
return {'FINISHED'}
def register():
bpy.utils.register_class(LightsOperator)
def unregister():
bpy.utils.unregister_class(LightsOperator)
if __name__ == "__main__":
register()
# test call
bpy.ops.object.lights_operator()
【问题讨论】:
-
这是实际的缩进吗?
-
我也推荐你在this dedicated StackExchange site上发布关于搅拌机的问题
-
我建议在搅拌机专业 python 之外学习 python ...搅拌机 python 可能会使用一些被认为不符合 Python 或违反直觉的东西。
-
我在你的问题中修正了缩进......如果这真的是你的缩进,我会认真考虑这是罪魁祸首
-
Joran 我复制了一个带有您精确缩进的新版本,但它仍然无法正常工作。
标签: python python-3.x blender