Missing name on collada-imported materials
This commit is contained in:
parent
2af2a84a03
commit
8ffc113b70
@ -378,6 +378,8 @@ void Collada::_parse_material(XMLParser& parser) {
|
||||
Material material;
|
||||
|
||||
String id=parser.get_attribute_value("id");
|
||||
if (parser.has_attribute("name"))
|
||||
material.name=parser.get_attribute_value("name");
|
||||
|
||||
if (state.version<State::Version(1,4,0)) {
|
||||
/* <1.4 */
|
||||
@ -775,9 +777,12 @@ void Collada::_parse_effect(XMLParser& parser) {
|
||||
String id=parser.get_attribute_value("id");
|
||||
|
||||
Effect effect;
|
||||
if (parser.has_attribute("name"))
|
||||
effect.name=parser.get_attribute_value("name");
|
||||
_parse_effect_material(parser,effect,id);
|
||||
|
||||
|
||||
|
||||
state.effect_map[id]=effect;
|
||||
|
||||
COLLADA_PRINT("Effect ID:"+id);
|
||||
|
@ -53,12 +53,14 @@ public:
|
||||
|
||||
struct Material {
|
||||
|
||||
String name;
|
||||
String instance_effect;
|
||||
};
|
||||
|
||||
|
||||
struct Effect {
|
||||
|
||||
String name;
|
||||
Map<String, Variant> params;
|
||||
|
||||
struct Channel {
|
||||
|
@ -341,6 +341,11 @@ Error ColladaImport::_create_material(const String& p_target) {
|
||||
|
||||
Ref<FixedMaterial> material= memnew( FixedMaterial );
|
||||
|
||||
if (src_mat.name!="")
|
||||
material->set_name(src_mat.name);
|
||||
else if (effect.name!="")
|
||||
material->set_name(effect.name);
|
||||
|
||||
// DIFFUSE
|
||||
|
||||
if (effect.diffuse.texture!="") {
|
||||
@ -425,6 +430,8 @@ Error ColladaImport::_create_material(const String& p_target) {
|
||||
material->set_parameter(FixedMaterial::PARAM_SPECULAR_EXP,effect.shininess);
|
||||
material->set_flag(Material::FLAG_DOUBLE_SIDED,effect.double_sided);
|
||||
|
||||
|
||||
|
||||
material_cache[p_target]=material;
|
||||
return OK;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user