0d8f040c8ba1ed7aa78f24e9acaebf8ad4642643
Grease Pencil v3 did not have crazyspace support yet. Without this sculpting on deformed geometry (e.g. on top of an armature modifier) will yield incorrect offsets because the tool writes to original data based on deformed positions. This patch adds computation of local deformation matrices which are stored in the `GeometryComponentEditData`. Those matrices are then used to convert local deformation of the evaluated geometry back to a deformation of the original geometry. All the relevant sculpt tools support the crazyspace correction now, using the `compute_orig_delta` helper function. Computing the deformation matrices should happen alongside modifier evaluation for any deforming modifier. This has been implemented for the armature modifier, others can be added. A fallback implementation for curves could also be added for modifiers that don't have an easy way to calculate local transformation. A "natural" orientation for both the original and deformed positions is calculated, then the difference yields deform matrices. For meshes the approach is to use the surface normal and a stable tangent space. For curves the common local coordinate frame based on parallel transport might be used. Currently crazyspace correction for the _Clone_ tool does not work because of #131496. Pull Request: https://projects.blender.org/blender/blender/pulls/131499
…
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%
