cbb6cdf8d74044a6a5417cdcc47748a71dd9ab70
This fixes 4 bugs all conspiring to make the referenced SubD scenario quite broken: - When manually creating a MeshSequenceCache, the reading of edge and vertex crease data was skipped. Fixed by reading crease data inside the common `read_mesh` method. - When importing an Alembic with animated edge or vertex crease data, a MeshSequenceCache modifier was not being added to the object. This was due to not checking the relevant crease properties and required adding a specialized `has_animations` function. - When importing animated vertex crease data, a duplicate `vertex_crease` attribute would be created, breaking the animation. Fixed by using the attribute API rather than custom data. - The MeshSequenceCache scenario would call into the Alembic Mesh reader which ended up referencing deallocated stack memory for the ImportSettings. In release builds this would cause sporadic failures because the value of `blender_archive_version_prior_44` would be random. There was already a very old TODO for this and we finally really needed to address it. A new test was added which exports animated creases on two meshes and re-imports them back in. It verifies that each mesh gets a MeshSequenceCache modifier added and also ensures the values of the creases are correct for all frames. Pull Request: https://projects.blender.org/blender/blender/pulls/141646
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
