You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-12 13:20:55 +00:00
Implemented maya stingray support
This commit is contained in:
@@ -699,7 +699,6 @@ Ref<Mesh> EditorSceneImporterAssimp::_generate_mesh_from_surface_indices(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now process materials
|
|
||||||
aiTextureType tex_diffuse = aiTextureType_DIFFUSE;
|
aiTextureType tex_diffuse = aiTextureType_DIFFUSE;
|
||||||
{
|
{
|
||||||
String filename, path;
|
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 array_mesh = st->commit_to_arrays();
|
||||||
Array morphs;
|
Array morphs;
|
||||||
morphs.resize(ai_mesh->mNumAnimMeshes);
|
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|SpecularTexture", aiTextureType_SPECULAR, mesh);
|
||||||
TrySetTextureProperties(out_mat, textures, "Maya|FalloffTexture", aiTextureType_OPACITY, mesh);
|
TrySetTextureProperties(out_mat, textures, "Maya|FalloffTexture", aiTextureType_OPACITY, mesh);
|
||||||
TrySetTextureProperties(out_mat, textures, "Maya|ReflectionMapTexture", aiTextureType_REFLECTION, mesh);
|
TrySetTextureProperties(out_mat, textures, "Maya|ReflectionMapTexture", aiTextureType_REFLECTION, mesh);
|
||||||
|
|
||||||
// Maya PBR
|
// Maya PBR
|
||||||
TrySetTextureProperties(out_mat, textures, "Maya|baseColor|file", aiTextureType_BASE_COLOR, mesh);
|
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|normalCamera|file", aiTextureType_NORMAL_CAMERA, mesh);
|
||||||
TrySetTextureProperties(out_mat, textures, "Maya|emissionColor|file", aiTextureType_EMISSION_COLOR, 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|metalness|file", aiTextureType_METALNESS, mesh);
|
||||||
TrySetTextureProperties(out_mat, textures, "Maya|diffuseRoughness|file", aiTextureType_DIFFUSE_ROUGHNESS, 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)
|
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_EMISSION_COLOR = 14,
|
||||||
aiTextureType_METALNESS = 15,
|
aiTextureType_METALNESS = 15,
|
||||||
aiTextureType_DIFFUSE_ROUGHNESS = 16,
|
aiTextureType_DIFFUSE_ROUGHNESS = 16,
|
||||||
|
aiTextureType_AMBIENT_OCCLUSION = 17,
|
||||||
|
|
||||||
/** Unknown texture
|
/** Unknown texture
|
||||||
*
|
*
|
||||||
@@ -297,7 +298,7 @@ enum aiTextureType
|
|||||||
* above is considered to be 'unknown'. It is still imported,
|
* above is considered to be 'unknown'. It is still imported,
|
||||||
* but is excluded from any further post-processing.
|
* but is excluded from any further post-processing.
|
||||||
*/
|
*/
|
||||||
aiTextureType_UNKNOWN = 17,
|
aiTextureType_UNKNOWN = 18,
|
||||||
|
|
||||||
|
|
||||||
#ifndef SWIG
|
#ifndef SWIG
|
||||||
|
|||||||
Reference in New Issue
Block a user