Fix #133480: Missing animation data conversion on Opacity modifier
Both "factor" and "hardness" were renamed from GPv2 > GPv3. Use AnimDataConvertor to account for this. Pull Request: https://projects.blender.org/blender/blender/pulls/133476
This commit is contained in:
committed by
Philipp Oeser
parent
3be9f3d599
commit
ae8bd075e5
@@ -2163,6 +2163,23 @@ static void legacy_object_modifier_opacity(ConversionData &conversion_data,
|
||||
md_opacity.color_factor = legacy_md_opacity.factor;
|
||||
md_opacity.hardness_factor = legacy_md_opacity.hardness;
|
||||
|
||||
/* Account for animation on renamed properties. */
|
||||
char modifier_name[MAX_NAME * 2];
|
||||
BLI_str_escape(modifier_name, md.name, sizeof(modifier_name));
|
||||
AnimDataConvertor anim_convertor_factor(
|
||||
conversion_data, object.id, object.id, {{".factor", ".color_factor"}});
|
||||
anim_convertor_factor.root_path_src = fmt::format("modifiers[\"{}\"]", modifier_name);
|
||||
anim_convertor_factor.root_path_dst = fmt::format("modifiers[\"{}\"]", modifier_name);
|
||||
anim_convertor_factor.fcurves_convert();
|
||||
anim_convertor_factor.fcurves_convert_finalize();
|
||||
AnimDataConvertor anim_convertor_hardness(
|
||||
conversion_data, object.id, object.id, {{".hardness", ".hardness_factor"}});
|
||||
anim_convertor_hardness.root_path_src = fmt::format("modifiers[\"{}\"]", modifier_name);
|
||||
anim_convertor_hardness.root_path_dst = fmt::format("modifiers[\"{}\"]", modifier_name);
|
||||
anim_convertor_hardness.fcurves_convert();
|
||||
anim_convertor_hardness.fcurves_convert_finalize();
|
||||
DEG_relations_tag_update(&conversion_data.bmain);
|
||||
|
||||
legacy_object_modifier_influence(md_opacity.influence,
|
||||
legacy_md_opacity.layername,
|
||||
legacy_md_opacity.layer_pass,
|
||||
|
||||
Reference in New Issue
Block a user