<viz>.addLight
Adds a light.
| <viz>.addLight( | |
| parent = viz.WORLD |
| scene = viz.MainScene |
| group = 0 |
)
parent = viz.WORLD
viz.WORLD
viz.SCREEN
viz.HEAD
viz.ORTHO
<node3d> object
scene = viz.MainScene
If the parent is viz.WORLD, viz.SCREEN, or viz.HEAD, then the argument represents the scene to add the object to.
If the parent is viz.ORTHO, then the argument represents the window to add the object to.
If the parent is a valid node3d object, then the argument is ignored.
group = 0
To work around the 8 active light limit, you can assign lights to new groups. Only one light group can be active at one time. Change the active light group with setLightGroup.
Remarks
Grouping of lights allows different lights to be used for different events. It is not possible to use two light groups at once.
Return Value
<node3d:light> object
Example
viz.go()
viz.move(0,0,-10)
room = viz.add('lab.ive')
room.appearance(viz.MODULATE)
def AddLight(lightColor,glareColor,group):
Light = viz.addLight(group=group)
Light.position(0,0,0)
Light.color(lightColor)
Light.linearattenuation(0.2)
GlareQuad = viz.addTexQuad(parent=Light)
GlareQuad.billboard()
GlareQuad.color(glareColor)
GlareQuad.disable(viz.LIGHTING)
GlareQuad.setScale([0.2,0.2,0.2])
return Light
LIGHT_SPEED = 2
#Add red light group
light1 = AddLight([0.5,0,0],viz.RED,0)
light2 = AddLight([0.5,0,0],viz.RED,0)
light1.setPosition([-1,2,0])
light2.setPosition([1,2,0])
#Add white light group
light3 = AddLight([1,1,1],viz.WHITE,1)
light4 = AddLight([1,1,1],viz.WHITE,1)
light3.setPosition([0,2,-1])
light4.setPosition([0,2,1])
list = viz.addDropList(parent=viz.ORTHO,options=['0','1'],align=viz.TEXT_RIGHT_TOP)
list.fontSize(16)
viz.link(viz.RightTop,list,offset=(-10,-10,0))
def setLightGroup(e):
viz.setLightGroup(e.newSel)
vizact.onlist(list,setLightGroup)