I have been starting to use blender , avoiding the GUI almost entirely and doing only scripting. To do the lighting I have been using:
def lights(light_pos,color=(1,1,1,1),energy=5):
# light types:
# POINT Point, Omnidirectional point light source.
# SUN Sun, Constant direction parallel ray light source.
# SPOT Spot, Directional cone light source.
# AREA Area, Directional area light source.
name = 'light1'
light_data = bpy.data.lights.new(name=name, type='SUN')
light_obj = bpy.data.objects.new(name=name, object_data=light_data)
light_obj.location = light_pos
light_obj.color = color
# light_obj.rotation = (0,0,radians(-90))
#direction = Vector(np.random.uniform(low=-1, size=3))
#light_obj.rotation_mode = 'QUATERNION'
#light_obj.rotation_quaternion = direction.to_track_quat('-Z', 'Y')
scene.collection.objects.link(light_obj) # make the light actually appear in the scene
bpy.context.view_layer.objects.active = light_obj
bpy.context.object.data.energy = energy
The color seems to be ignored, and I can’t figure out how to set the direction, limiting me to SUN (and possibly AREA) . Any tips on better blender coding also appreciated.