Blender Git Loki

Blender Git "temp-alembic-exporter-T73363-ms2" branch commits.

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.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021