Add support for Blend importing of material placeholders.

Couldn't get the 'NONE' option to work.
This commit is contained in:
K. S. Ernest (iFire) Lee 2022-03-31 10:05:46 -07:00
parent c5f9424fbd
commit d8b3d14d82
2 changed files with 16 additions and 0 deletions

View file

@ -80,6 +80,16 @@ Node *EditorSceneFormatImporterBlend::import_scene(const String &p_path, uint32_
} else {
parameters_arg += "export_skins=False,";
}
if (p_options.has(SNAME("blender/materials/export_materials")) && p_options[SNAME("blender/materials/export_materials")]) {
int32_t exports = p_options["blender/materials/export_materials"];
if (exports == BLEND_MATERIAL_EXPORT_PLACEHOLDER) {
parameters_arg += "export_materials='PLACEHOLDER',";
} else if (exports == BLEND_MATERIAL_EXPORT_EXPORT) {
parameters_arg += "export_materials='EXPORT',";
}
} else {
parameters_arg += "export_materials='PLACEHOLDER',";
}
if (p_options.has(SNAME("blender/nodes/cameras")) && p_options[SNAME("blender/nodes/cameras")]) {
parameters_arg += "export_cameras=True,";
} else {
@ -107,6 +117,7 @@ Node *EditorSceneFormatImporterBlend::import_scene(const String &p_path, uint32_
} else {
parameters_arg += "use_visible=False,use_renderable=False,";
}
if (p_options.has(SNAME("blender/meshes/uvs")) && p_options[SNAME("blender/meshes/uvs")]) {
parameters_arg += "export_texcoords=True,";
} else {
@ -244,6 +255,7 @@ void EditorSceneFormatImporterBlend::get_import_options(const String &p_path, Li
ADD_OPTION_ENUM("blender/meshes/skins", "None,4 Influences (Compatible),All Influences", BLEND_BONE_INFLUENCES_ALL);
ADD_OPTION_BOOL("blender/meshes/export_bones_deforming_mesh_only", false);
ADD_OPTION_BOOL("blender/materials/unpack_enabled", true);
ADD_OPTION_ENUM("blender/materials/export_materials", "Placeholder,Export", BLEND_MATERIAL_EXPORT_EXPORT);
ADD_OPTION_BOOL("blender/animation/limit_playback", true);
ADD_OPTION_BOOL("blender/animation/always_sample", true);
ADD_OPTION_BOOL("blender/animation/group_tracks", true);

View file

@ -52,6 +52,10 @@ public:
BLEND_BONE_INFLUENCES_COMPATIBLE,
BLEND_BONE_INFLUENCES_ALL
};
enum {
BLEND_MATERIAL_EXPORT_PLACEHOLDER,
BLEND_MATERIAL_EXPORT_EXPORT
};
enum {
BLEND_MODIFIERS_NONE,
BLEND_MODIFIERS_ALL