Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSybren A. Stüvel <sybren@blender.org>2020-03-09 20:22:49 +0300
committerSybren A. Stüvel <sybren@blender.org>2020-03-09 20:27:18 +0300
commitb080de79db301da32efc766122b433077fa560e9 (patch)
tree169e8b8a737f786a3c12bbcb4091ab842883d636 /source/blender/io/alembic/ABC_alembic.h
parente672cf11c3db51ad1e66f678e85bc5879ff714cb (diff)
Alembic: constraint for transform animation is using world matrix again
In rB7c5a44c71f13 I changed the way transform matrices are loaded from Alembic. Instead of having the Alembic importer convert matrices from local (in the Alembic file) to World (to pass to the constraint handling the animation of transforms), I set the constraint space to `CONSTRAINT_SPACE_LOCAL`. This worked thanks to rB7728bfd4c45c. However, that commit was reverted, which meant that for parentless objects `CONSTRAINT_SPACE_LOCAL` no longer means "local space". The situation is resolved by setting the constraint to world space again, and computing the world matrix in the Alembic importer.
Diffstat (limited to 'source/blender/io/alembic/ABC_alembic.h')
-rw-r--r--source/blender/io/alembic/ABC_alembic.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/io/alembic/ABC_alembic.h b/source/blender/io/alembic/ABC_alembic.h
index 878dbfc2a53..ccc53c589fb 100644
--- a/source/blender/io/alembic/ABC_alembic.h
+++ b/source/blender/io/alembic/ABC_alembic.h
@@ -110,7 +110,10 @@ AbcArchiveHandle *ABC_create_handle(struct Main *bmain,
void ABC_free_handle(AbcArchiveHandle *handle);
-void ABC_get_transform(struct CacheReader *reader, float r_mat[4][4], float time, float scale);
+void ABC_get_transform(struct CacheReader *reader,
+ float r_mat_world[4][4],
+ float time,
+ float scale);
/* Either modifies current_mesh in-place or constructs a new mesh. */
struct Mesh *ABC_read_mesh(struct CacheReader *reader,