Export tangents only when needed
This commit is contained in:
parent
71d5c14a13
commit
c01456ee3d
|
@ -1655,8 +1655,13 @@ class LueExporter(bpy.types.Operator, ExportHelper):
|
|||
om.index_arrays.append(ia)
|
||||
|
||||
# Export tangents
|
||||
# TODO: check for proper texture coords and if normal map is applied
|
||||
if (len(exportMesh.uv_textures) > 0):
|
||||
# TODO: check for texture coords
|
||||
export_tangents = False
|
||||
for m in exportMesh.materials:
|
||||
if m.export_tangents == True:
|
||||
export_tangents = True
|
||||
break
|
||||
if (export_tangents and len(exportMesh.uv_textures) > 0):
|
||||
# exportMesh.calc_tangents() # TODO: use to export tangents
|
||||
ia = om.index_arrays[0].values
|
||||
posa = pa.values
|
||||
|
@ -1990,6 +1995,17 @@ class LueExporter(bpy.types.Operator, ExportHelper):
|
|||
|
||||
o.contexts.append(c)
|
||||
|
||||
# Whether objects should export tangent data
|
||||
if material.export_tangents != const6.bool:
|
||||
material.export_tangents = const6.bool
|
||||
# Delete geometry caches
|
||||
for ob in bpy.data.objects:
|
||||
if type(ob.data) == bpy.types.Mesh:
|
||||
for m in ob.data.materials:
|
||||
if m.name == material.name:
|
||||
ob.geometry_cached = False
|
||||
break
|
||||
|
||||
#intensity = material.specular_intensity
|
||||
#specular = [material.specular_color[0] * intensity, material.specular_color[1] * intensity, material.specular_color[2] * intensity]
|
||||
|
||||
|
@ -2087,14 +2103,14 @@ class LueExporter(bpy.types.Operator, ExportHelper):
|
|||
if (not object.parent):
|
||||
self.ExportNode(object, scene)
|
||||
|
||||
self.output.material_resources = []
|
||||
self.ExportMaterials()
|
||||
|
||||
self.output.geometry_resources = [];
|
||||
self.output.light_resources = [];
|
||||
self.output.camera_resources = [];
|
||||
self.ExportObjects(scene)
|
||||
|
||||
self.output.material_resources = []
|
||||
self.ExportMaterials()
|
||||
|
||||
|
||||
if (self.restoreFrame):
|
||||
scene.frame_set(originalFrame, originalSubframe)
|
||||
|
|
|
@ -151,6 +151,7 @@ def initObjectProperties():
|
|||
bpy.types.Object.traitlist_index = bpy.props.IntProperty(name = "Index for my_list", default = 0)
|
||||
|
||||
bpy.types.Object.geometry_cached = bpy.props.BoolProperty(name="Geometry cached", default=False)
|
||||
bpy.types.Material.export_tangents = bpy.props.BoolProperty(name="Export tangents", default=False)
|
||||
bpy.app.handlers.scene_update_post.append(cb_scene_update)
|
||||
#bpy.app.handlers.scene_update_post.remove(cb_scene_update)
|
||||
|
||||
|
|
Loading…
Reference in a new issue