forked from bartvdbraak/blender
bugfix [#23778] obj importing forgets to enable transparent into material
This commit is contained in:
parent
a82874c2ee
commit
7c9bf53bf1
@ -297,7 +297,6 @@ def create_materials(filepath, material_libs, unique_materials, unique_material_
|
||||
if has_data and image.depth == 32:
|
||||
# Image has alpha
|
||||
|
||||
# XXX bitmask won't work?
|
||||
mtex = blender_material.texture_slots.add()
|
||||
mtex.texture = texture
|
||||
mtex.texture_coords = 'UV'
|
||||
@ -324,21 +323,19 @@ def create_materials(filepath, material_libs, unique_materials, unique_material_
|
||||
mtex.texture = texture
|
||||
mtex.texture_coords = 'UV'
|
||||
mtex.use_map_ambient = True
|
||||
# blender_material.setTexture(1, texture, Texture.TexCo.UV, Texture.MapTo.CMIR) # TODO- Add AMB to BPY API
|
||||
|
||||
elif type == 'Ks':
|
||||
mtex = blender_material.texture_slots.add()
|
||||
mtex.texture = texture
|
||||
mtex.texture_coords = 'UV'
|
||||
mtex.use_map_specular = True
|
||||
# blender_material.setTexture(2, texture, Texture.TexCo.UV, Texture.MapTo.SPEC)
|
||||
|
||||
elif type == 'Bump':
|
||||
mtex = blender_material.texture_slots.add()
|
||||
mtex.texture = texture
|
||||
mtex.texture_coords = 'UV'
|
||||
mtex.use_map_normal = True
|
||||
# blender_material.setTexture(3, texture, Texture.TexCo.UV, Texture.MapTo.NOR)
|
||||
|
||||
elif type == 'D':
|
||||
mtex = blender_material.texture_slots.add()
|
||||
mtex.texture = texture
|
||||
@ -354,7 +351,6 @@ def create_materials(filepath, material_libs, unique_materials, unique_material_
|
||||
mtex.texture = texture
|
||||
mtex.texture_coords = 'UV'
|
||||
mtex.use_map_reflect = True
|
||||
# blender_material.setTexture(5, texture, Texture.TexCo.UV, Texture.MapTo.REF)
|
||||
|
||||
|
||||
# Add an MTL with the same name as the obj if no MTLs are spesified.
|
||||
@ -394,17 +390,18 @@ def create_materials(filepath, material_libs, unique_materials, unique_material_
|
||||
line_split= line.split()
|
||||
line_lower= line.lower().lstrip()
|
||||
if line_lower.startswith('ka'):
|
||||
context_material.mirror_color = (float(line_split[1]), float(line_split[2]), float(line_split[3]))
|
||||
context_material.mirror_color = float(line_split[1]), float(line_split[2]), float(line_split[3])
|
||||
elif line_lower.startswith('kd'):
|
||||
context_material.diffuse_color = (float(line_split[1]), float(line_split[2]), float(line_split[3]))
|
||||
context_material.diffuse_color = float(line_split[1]), float(line_split[2]), float(line_split[3])
|
||||
elif line_lower.startswith('ks'):
|
||||
context_material.specular_color = (float(line_split[1]), float(line_split[2]), float(line_split[3]))
|
||||
context_material.specular_color = float(line_split[1]), float(line_split[2]), float(line_split[3])
|
||||
elif line_lower.startswith('ns'):
|
||||
context_material.specular_hardness = int((float(line_split[1])*0.51))
|
||||
context_material.specular_hardness = int((float(line_split[1]) * 0.51))
|
||||
elif line_lower.startswith('ni'): # Refraction index
|
||||
context_material.raytrace_transparency.ior = max(1, min(float(line_split[1]), 3)) # Between 1 and 3
|
||||
context_material.raytrace_transparency.ior = max(1, min(float(line_split[1]), 3)) # between 1 and 3
|
||||
elif line_lower.startswith('d') or line_lower.startswith('tr'):
|
||||
context_material.alpha = float(line_split[1])
|
||||
context_material.z_transparency = True
|
||||
elif line_lower.startswith('map_ka'):
|
||||
img_filepath= line_value(line.split())
|
||||
if img_filepath:
|
||||
@ -426,7 +423,7 @@ def create_materials(filepath, material_libs, unique_materials, unique_material_
|
||||
if img_filepath:
|
||||
load_material_image(context_material, context_material_name, img_filepath, 'D')
|
||||
|
||||
elif line_lower.startswith('refl'): # Reflectionmap
|
||||
elif line_lower.startswith('refl'): # reflectionmap
|
||||
img_filepath= line_value(line.split())
|
||||
if img_filepath:
|
||||
load_material_image(context_material, context_material_name, img_filepath, 'refl')
|
||||
|
Loading…
Reference in New Issue
Block a user