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.
This commit is contained in:
parent
65574463fa
commit
94cbfb71bc
Notes:
blender-bot
2023-02-14 00:06:52 +01:00
Referenced by issue #76132, Can't import or export Alembic with changing UVs
|
@ -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());
|
||||
|
|
Loading…
Reference in New Issue