Implemented maya stingray support
This commit is contained in:
parent
efd6f6dbad
commit
269ba00fd3
3 changed files with 25 additions and 2 deletions
|
@ -699,7 +699,6 @@ Ref<Mesh> EditorSceneImporterAssimp::_generate_mesh_from_surface_indices(
|
|||
}
|
||||
}
|
||||
|
||||
// Now process materials
|
||||
aiTextureType tex_diffuse = aiTextureType_DIFFUSE;
|
||||
{
|
||||
String filename, path;
|
||||
|
@ -846,6 +845,20 @@ Ref<Mesh> EditorSceneImporterAssimp::_generate_mesh_from_surface_indices(
|
|||
}
|
||||
}
|
||||
|
||||
aiTextureType tex_ao_map = aiTextureType_AMBIENT_OCCLUSION;
|
||||
{
|
||||
String filename, path;
|
||||
Ref<ImageTexture> texture;
|
||||
AssimpImageData image_data;
|
||||
|
||||
// Process texture normal map
|
||||
if (AssimpUtils::GetAssimpTexture(state, ai_material, tex_ao_map, filename, path, image_data)) {
|
||||
AssimpUtils::set_texture_mapping_mode(image_data.map_mode, image_data.texture);
|
||||
mat->set_feature(SpatialMaterial::FEATURE_AMBIENT_OCCLUSION, true);
|
||||
mat->set_texture(SpatialMaterial::TEXTURE_AMBIENT_OCCLUSION, image_data.texture);
|
||||
}
|
||||
}
|
||||
|
||||
Array array_mesh = st->commit_to_arrays();
|
||||
Array morphs;
|
||||
morphs.resize(ai_mesh->mNumAnimMeshes);
|
||||
|
|
9
thirdparty/assimp/code/FBX/FBXConverter.cpp
vendored
9
thirdparty/assimp/code/FBX/FBXConverter.cpp
vendored
|
@ -2001,12 +2001,21 @@ namespace Assimp {
|
|||
TrySetTextureProperties(out_mat, textures, "Maya|SpecularTexture", aiTextureType_SPECULAR, mesh);
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|FalloffTexture", aiTextureType_OPACITY, mesh);
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|ReflectionMapTexture", aiTextureType_REFLECTION, mesh);
|
||||
|
||||
// Maya PBR
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|baseColor|file", aiTextureType_BASE_COLOR, mesh);
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|normalCamera|file", aiTextureType_NORMAL_CAMERA, mesh);
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|emissionColor|file", aiTextureType_EMISSION_COLOR, mesh);
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|metalness|file", aiTextureType_METALNESS, mesh);
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|diffuseRoughness|file", aiTextureType_DIFFUSE_ROUGHNESS, mesh);
|
||||
|
||||
// Maya stingray
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|TEX_color_map|file", aiTextureType_BASE_COLOR, mesh);
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|TEX_normal_map|file", aiTextureType_NORMAL_CAMERA, mesh);
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|TEX_emissive_map|file", aiTextureType_EMISSION_COLOR, mesh);
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|TEX_metallic_map|file", aiTextureType_METALNESS, mesh);
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|TEX_roughness_map|file", aiTextureType_DIFFUSE_ROUGHNESS, mesh);
|
||||
TrySetTextureProperties(out_mat, textures, "Maya|TEX_ao_map|file", aiTextureType_AMBIENT_OCCLUSION, mesh);
|
||||
}
|
||||
|
||||
void FBXConverter::SetTextureProperties(aiMaterial* out_mat, const LayeredTextureMap& layeredTextures, const MeshGeometry* const mesh)
|
||||
|
|
3
thirdparty/assimp/include/assimp/material.h
vendored
3
thirdparty/assimp/include/assimp/material.h
vendored
|
@ -290,6 +290,7 @@ enum aiTextureType
|
|||
aiTextureType_EMISSION_COLOR = 14,
|
||||
aiTextureType_METALNESS = 15,
|
||||
aiTextureType_DIFFUSE_ROUGHNESS = 16,
|
||||
aiTextureType_AMBIENT_OCCLUSION = 17,
|
||||
|
||||
/** Unknown texture
|
||||
*
|
||||
|
@ -297,7 +298,7 @@ enum aiTextureType
|
|||
* above is considered to be 'unknown'. It is still imported,
|
||||
* but is excluded from any further post-processing.
|
||||
*/
|
||||
aiTextureType_UNKNOWN = 17,
|
||||
aiTextureType_UNKNOWN = 18,
|
||||
|
||||
|
||||
#ifndef SWIG
|
||||
|
|
Loading…
Reference in a new issue