raise ValueError("Object {} is not a light".format(obj.name))
light = obj.data
- from .datafile import Resource, Statement
+ from .datafile import Resource, Statement, Token
light_res = Resource(light.name+".light", "light")
if light.type=='SUN':
- pos = obj.matrix_world@mathutils.Vector((0.0, 0.0, 1.0, 0.0))
- else:
+ light_res.statements.append(Statement("type", Token("directional")))
+ light_res.statements.append(Statement("direction", *(-obj.matrix_world.col[2])[0:3]))
+ elif light.type=='POINT':
+ light_res.statements.append(Statement("type", Token("point")))
pos = obj.matrix_world@mathutils.Vector((0.0, 0.0, 0.0, 1.0))
+ light_res.statements.append(Statement("position", *obj.matrix_world.col[3][0:3]))
+ light_res.statements.append(Statement("attenuation", 1.0, 0.0, 1.0))
+ else:
+ raise Exception("Can't export light {} of unknown type {}".format(light.name, light.type))
- light_res.statements.append(Statement("position", *tuple(pos)))
c = light.color*light.energy
light_res.statements.append(Statement("color", *tuple(c)))