diff --git a/scene/3d/mesh_instance_3d.cpp b/scene/3d/mesh_instance_3d.cpp index d83d55d12138..35baf81e8959 100644 --- a/scene/3d/mesh_instance_3d.cpp +++ b/scene/3d/mesh_instance_3d.cpp @@ -493,6 +493,23 @@ void MeshInstance3D::create_debug_tangents() { } } +bool MeshInstance3D::_property_can_revert(const StringName &p_name) const { + HashMap::ConstIterator E = blend_shape_properties.find(p_name); + if (E) { + return true; + } + return false; +} + +bool MeshInstance3D::_property_get_revert(const StringName &p_name, Variant &r_property) const { + HashMap::ConstIterator E = blend_shape_properties.find(p_name); + if (E) { + r_property = 0.0f; + return true; + } + return false; +} + void MeshInstance3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_mesh", "mesh"), &MeshInstance3D::set_mesh); ClassDB::bind_method(D_METHOD("get_mesh"), &MeshInstance3D::get_mesh); diff --git a/scene/3d/mesh_instance_3d.h b/scene/3d/mesh_instance_3d.h index 0a7ffa0beed9..add6bfe15eee 100644 --- a/scene/3d/mesh_instance_3d.h +++ b/scene/3d/mesh_instance_3d.h @@ -62,6 +62,9 @@ class MeshInstance3D : public GeometryInstance3D { void _notification(int p_what); static void _bind_methods(); + bool _property_can_revert(const StringName &p_name) const; + bool _property_get_revert(const StringName &p_name, Variant &r_property) const; + public: void set_mesh(const Ref &p_mesh); Ref get_mesh() const;