Browse Source

Show revert button for MeshInstance3D blendshape values

Shows revert button for MeshInstance3D blendshape values.
smix8 1 năm trước cách đây
mục cha
commit
2dfa023135
2 tập tin đã thay đổi với 20 bổ sung0 xóa
  1. 17 0
      scene/3d/mesh_instance_3d.cpp
  2. 3 0
      scene/3d/mesh_instance_3d.h

+ 17 - 0
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<StringName, int>::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<StringName, int>::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);

+ 3 - 0
scene/3d/mesh_instance_3d.h

@@ -62,6 +62,9 @@ protected:
 	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<Mesh> &p_mesh);
 	Ref<Mesh> get_mesh() const;