你能否使用Python在Blender中添加光源?

15

好的,我完全不懂Blender,只是想寻找一些关于如何使用Python控制它的好教程。我希望能够通过Python方法添加/删除/编辑光源...这可行吗?谢谢任何建议。


你正在使用哪个版本的Blender? - Gauthier Boaglio
2个回答

21

Blender 2.80 改变了旧API,大部分步骤都发生了变化。下面是更新的代码。

import bpy

# create light datablock, set attributes
light_data = bpy.data.lights.new(name="light_2.80", type='POINT')
light_data.energy = 30

# create new object with our light datablock
light_object = bpy.data.objects.new(name="light_2.80", object_data=light_data)

# link light object
bpy.context.collection.objects.link(light_object)

# make it active 
bpy.context.view_layer.objects.active = light_object

#change location
light_object.location = (5, 5, 5)

# update scene, if needed
dg = bpy.context.evaluated_depsgraph_get() 
dg.update()

12

答案是肯定的!

看看最近的Python API

下面的示例创建一个新的Lamp对象,并将其放置在当前场景中的默认位置(5, 5, 5):

(Blender 2.63)

脚本应该像这样:

import bpy

scene = bpy.context.scene

# Create new lamp datablock
lamp_data = bpy.data.lamps.new(name="New Lamp", type='POINT')

# Create new object with our lamp datablock
lamp_object = bpy.data.objects.new(name="New Lamp", object_data=lamp_data)

# Link lamp object to the scene so it'll appear in this scene
scene.objects.link(lamp_object)

# Place lamp to a specified location
lamp_object.location = (5.0, 5.0, 5.0)

# And finally select it make active
lamp_object.select = True
scene.objects.active = lamp_object

谢谢!我会试一下的。我目前还没有运行任何版本,但可能会使用最新版本。 - innov83r
我想我会尝试发挥我的创造力,虽然我不是一个很有艺术天赋的人... :) 你知道有哪些非常好的学习Blender的资源吗? - innov83r
@innov83r 另外,还有一个Blender的SE网站.. http://blender.stackexchange.com/ - iKlsR
你知道如何在Blender 2.80 Python API中添加光吗?似乎API已更改为Light,但我还没有让它工作。 - Meta Fan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接