Fix setting mesh blend shape properties in dummy mesh storage
This commit is contained in:
@@ -69,7 +69,11 @@ public:
|
||||
virtual void mesh_initialize(RID p_rid) override;
|
||||
virtual void mesh_free(RID p_rid) override;
|
||||
|
||||
virtual void mesh_set_blend_shape_count(RID p_mesh, int p_blend_shape_count) override {}
|
||||
virtual void mesh_set_blend_shape_count(RID p_mesh, int p_blend_shape_count) override {
|
||||
DummyMesh *m = mesh_owner.get_or_null(p_mesh);
|
||||
ERR_FAIL_NULL(m);
|
||||
m->blend_shape_count = p_blend_shape_count;
|
||||
}
|
||||
virtual bool mesh_needs_instance(RID p_mesh, bool p_has_skeleton) override { return false; }
|
||||
|
||||
virtual void mesh_add_surface(RID p_mesh, const RS::SurfaceData &p_surface) override {
|
||||
@@ -95,10 +99,23 @@ public:
|
||||
m->dependency.changed_notify(Dependency::DEPENDENCY_CHANGED_MESH);
|
||||
}
|
||||
|
||||
virtual int mesh_get_blend_shape_count(RID p_mesh) const override { return 0; }
|
||||
virtual int mesh_get_blend_shape_count(RID p_mesh) const override {
|
||||
DummyMesh *m = mesh_owner.get_or_null(p_mesh);
|
||||
ERR_FAIL_NULL_V(m, 0);
|
||||
return m->blend_shape_count;
|
||||
}
|
||||
|
||||
virtual void mesh_set_blend_shape_mode(RID p_mesh, RS::BlendShapeMode p_mode) override {}
|
||||
virtual RS::BlendShapeMode mesh_get_blend_shape_mode(RID p_mesh) const override { return RS::BLEND_SHAPE_MODE_NORMALIZED; }
|
||||
virtual void mesh_set_blend_shape_mode(RID p_mesh, RS::BlendShapeMode p_mode) override {
|
||||
DummyMesh *m = mesh_owner.get_or_null(p_mesh);
|
||||
ERR_FAIL_NULL(m);
|
||||
m->blend_shape_mode = p_mode;
|
||||
}
|
||||
|
||||
virtual RS::BlendShapeMode mesh_get_blend_shape_mode(RID p_mesh) const override {
|
||||
DummyMesh *m = mesh_owner.get_or_null(p_mesh);
|
||||
ERR_FAIL_NULL_V(m, RS::BLEND_SHAPE_MODE_NORMALIZED);
|
||||
return m->blend_shape_mode;
|
||||
}
|
||||
|
||||
virtual void mesh_surface_update_vertex_region(RID p_mesh, int p_surface, int p_offset, const Vector<uint8_t> &p_data) override {}
|
||||
virtual void mesh_surface_update_attribute_region(RID p_mesh, int p_surface, int p_offset, const Vector<uint8_t> &p_data) override {}
|
||||
|
||||
Reference in New Issue
Block a user