May 7, 2020, 16:57 (GMT) |
Cleanup: Alembic, refactored flattened export The AbstractHierarchyIterator has been simplified & refactored, such that it is possible for a subclass to change the export hierarchy. This makes the Alembic exporter responsible for the "flattening", which is appropriate as the USD exporter doesn't even have this export option. No functional changes. |
May 7, 2020, 15:39 (GMT) |
Alembic: when exporting flattened, always check parent for animation When exporting to a flattened "hierarchy", the animation of the parent (in Blender) will not be known to the Alembic file. In this case, whenever an object is moving, it needs to be treated as animated, even when it's through the animation of its parent. |
May 7, 2020, 14:55 (GMT) |
Alembic: Updated tests to reflect the current exporter The differences: - The old exporter always exported a mesh object to `{object.name}/{object.name}Shape`. Now it exports to `{object.name}/{mesh.name}` instead. - Duplicated objects now have a unique numerical suffix. - Transforms are always exported as inheriting, because Blender doesn't have a concept of parenting without inheriting the transform. |
May 7, 2020, 14:53 (GMT) |
Alembic: added ability to export as flattened hierarchy I'm not entirely happy that this invades into the `AbstractHierarchyIterator` class, so I might revisit this later. |
May 7, 2020, 13:36 (GMT) |
Merge remote-tracking branch 'origin/master' into temp-alembic-exporter-T73363-ms2 |
April 28, 2020, 16:57 (GMT) |
Alembic: adjusted some unit tests The new Alembic exporter will name exported data differently than the old one, so tests need to be adjusted for this. Not all tests succeed yet, but at least a few more do. |
April 28, 2020, 16:36 (GMT) |
Alembic: added exporting of hair |
April 28, 2020, 15:48 (GMT) |
Alembic: fixed time sampling index handling |
April 28, 2020, 13:38 (GMT) |
Alembic: added Points exporter for particles |
April 28, 2020, 12:56 (GMT) |
Alembic: Pass correct `export_name` to the writers The `HierarchyContext::export_name` was set to the object name, and not to the last component of `HierarchyContext::export_path`. This doesn't matter for USD, but it does influence the Alembic writers. |
April 28, 2020, 12:50 (GMT) |
Alembic: improved logging |
April 28, 2020, 12:49 (GMT) |
Cleanup: Alembic, renamed some variables in ABCNurbsWriter::create_alembic_objects No functional changes |
April 28, 2020, 12:46 (GMT) |
Cleanup: Alembic, made AbstractHierarchyIterator::get_object_data_path protected There is no need for this function to be called from outside the class hierarchy. No functional changes. |
April 28, 2020, 12:45 (GMT) |
Cleanup: Alembic, explicitly assign to named fields This makes it possible to search the code for a field name and find where it is initialised. No functional changes. |
April 28, 2020, 10:22 (GMT) |
Alembic: added NURBS surface support to the new exporter Exporting NURBS as polymesh works fine. Exporting as Alembic NURBS patches is spotty at best, just like the original exporter, so the new exporter is at feature parity here. |
April 28, 2020, 09:50 (GMT) |
Alembic: added Curve writing to new Alembic exporter |
April 24, 2020, 11:08 (GMT) |
Alembic: support writing metaballs This commit also introduces a change in how Alembic C++ objects are created. This no longer happens in the constructor, but is done in a different function that's only called when `writer->is_supported(context)` returns `true`. |
April 24, 2020, 11:08 (GMT) |
Alembic: added camera writer |
April 24, 2020, 09:23 (GMT) |
Alembic: fixed subsurf modifiers not being re-enabled after export |
April 24, 2020, 09:18 (GMT) |
Alembic: much cleaner way to get the parent Alembic object Rather than juggling pointers around, the iterator's writer map is used. This makes it possible to construct the Alembic object in the writer's constructor, and makes the writers much simpler to understand. |
|