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
path: root/source
diff options
context:
space:
mode:
authorSybren A. Stüvel <sybren@blender.org>2020-05-12 16:06:29 +0300
committerSybren A. Stüvel <sybren@blender.org>2020-05-12 16:07:09 +0300
commit94cbfb71bcf4f0499301f7c6f201124d8740cacf (patch)
treed717d5c465646cd7bcd73054b4fcf7b24207ea96 /source
parent65574463fa2d31dc912cf886649c62a7d0ad2450 (diff)
Fix T76132: Can't import Alembic with changing UVs
In the Alembic importer, the animation of UVs and normals was overlooked; when the mesh geometry is not animated, the entire mesh was considered constant. T76132 concerns both the exporting and importing of changing UVs. This commit fixes the importing.
Diffstat (limited to 'source')
-rw-r--r--source/blender/io/alembic/intern/abc_reader_mesh.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/io/alembic/intern/abc_reader_mesh.cc b/source/blender/io/alembic/intern/abc_reader_mesh.cc
index b85bce3e10a..b69a5301d76 100644
--- a/source/blender/io/alembic/intern/abc_reader_mesh.cc
+++ b/source/blender/io/alembic/intern/abc_reader_mesh.cc
@@ -482,6 +482,19 @@ bool AbcMeshReader::valid() const
return m_schema.valid();
}
+/* Specialisation of has_animations() as defined in abc_reader_object.h. */
+template<> bool has_animations(Alembic::AbcGeom::IPolyMeshSchema &schema, ImportSettings *settings)
+{
+ if (settings->is_sequence || !schema.isConstant()) {
+ return true;
+ }
+
+ IV2fGeomParam uvsParam = schema.getUVsParam();
+ IN3fGeomParam normalsParam = schema.getNormalsParam();
+ return (uvsParam.valid() && !uvsParam.isConstant()) ||
+ (normalsParam.valid() && !normalsParam.isConstant());
+}
+
void AbcMeshReader::readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel)
{
Mesh *mesh = BKE_mesh_add(bmain, m_data_name.c_str());