fbx: change import option defaults
ufbx has special logic to handle animation/trimming, and most users expect trimming to be on. For existing projects, we should upgrade files0 to FBX2glTF to preserve node compatibility.
This commit is contained in:
parent
bd2300d77a
commit
c433754d34
|
@ -2329,6 +2329,7 @@ void ResourceImporterScene::get_import_options(const String &p_path, List<Import
|
||||||
}
|
}
|
||||||
script_ext_hint += "*." + E;
|
script_ext_hint += "*." + E;
|
||||||
}
|
}
|
||||||
|
bool trimming_defaults_on = p_path.get_extension().to_lower() == "fbx";
|
||||||
|
|
||||||
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "nodes/apply_root_scale"), true));
|
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "nodes/apply_root_scale"), true));
|
||||||
r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "nodes/root_scale", PROPERTY_HINT_RANGE, "0.001,1000,0.001"), 1.0));
|
r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "nodes/root_scale", PROPERTY_HINT_RANGE, "0.001,1000,0.001"), 1.0));
|
||||||
|
@ -2342,7 +2343,7 @@ void ResourceImporterScene::get_import_options(const String &p_path, List<Import
|
||||||
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "skins/use_named_skins"), true));
|
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "skins/use_named_skins"), true));
|
||||||
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/import"), true));
|
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/import"), true));
|
||||||
r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "animation/fps", PROPERTY_HINT_RANGE, "1,120,1"), 30));
|
r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "animation/fps", PROPERTY_HINT_RANGE, "1,120,1"), 30));
|
||||||
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/trimming"), false));
|
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/trimming"), trimming_defaults_on));
|
||||||
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/remove_immutable_tracks"), true));
|
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/remove_immutable_tracks"), true));
|
||||||
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/import_rest_as_RESET"), false));
|
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/import_rest_as_RESET"), false));
|
||||||
r_options->push_back(ImportOption(PropertyInfo(Variant::STRING, "import_script/path", PROPERTY_HINT_FILE, script_ext_hint), ""));
|
r_options->push_back(ImportOption(PropertyInfo(Variant::STRING, "import_script/path", PROPERTY_HINT_FILE, script_ext_hint), ""));
|
||||||
|
|
|
@ -188,10 +188,20 @@ void ImportDock::_update_options(const String &p_path, const Ref<ConfigFile> &p_
|
||||||
params->checked.clear();
|
params->checked.clear();
|
||||||
params->base_options_path = p_path;
|
params->base_options_path = p_path;
|
||||||
|
|
||||||
|
HashMap<StringName, Variant> import_options;
|
||||||
|
List<String> section_keys;
|
||||||
|
p_config->get_section_keys("params", §ion_keys);
|
||||||
|
for (const String §ion_key : section_keys) {
|
||||||
|
import_options[section_key] = p_config->get_value("params", section_key);
|
||||||
|
}
|
||||||
|
if (params->importer.is_valid()) {
|
||||||
|
params->importer->handle_compatibility_options(import_options);
|
||||||
|
}
|
||||||
|
|
||||||
for (const ResourceImporter::ImportOption &E : options) {
|
for (const ResourceImporter::ImportOption &E : options) {
|
||||||
params->properties.push_back(E.option);
|
params->properties.push_back(E.option);
|
||||||
if (p_config.is_valid() && p_config->has_section_key("params", E.option.name)) {
|
if (p_config.is_valid() && import_options.has(E.option.name)) {
|
||||||
params->values[E.option.name] = p_config->get_value("params", E.option.name);
|
params->values[E.option.name] = import_options[E.option.name];
|
||||||
} else {
|
} else {
|
||||||
params->values[E.option.name] = E.default_value;
|
params->values[E.option.name] = E.default_value;
|
||||||
}
|
}
|
||||||
|
|
|
@ -111,7 +111,7 @@ void EditorSceneFormatImporterUFBX::get_import_options(const String &p_path,
|
||||||
|
|
||||||
void EditorSceneFormatImporterUFBX::handle_compatibility_options(HashMap<StringName, Variant> &p_import_params) const {
|
void EditorSceneFormatImporterUFBX::handle_compatibility_options(HashMap<StringName, Variant> &p_import_params) const {
|
||||||
if (!p_import_params.has("fbx/importer")) {
|
if (!p_import_params.has("fbx/importer")) {
|
||||||
p_import_params["fbx/importer"] = EditorSceneFormatImporterUFBX::FBX_IMPORTER_UFBX;
|
p_import_params["fbx/importer"] = EditorSceneFormatImporterUFBX::FBX_IMPORTER_FBX2GLTF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue