-
Notifications
You must be signed in to change notification settings - Fork 5
johnnyquest/hAbcGeomExport
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
hAbcGeomExport 0.03 (alpha) =================== (Imre Tuske @ DiGiC Pictures, 2011-11) (This is our small contribution for the Alembic project -- hopefully you'll find it useful. Many thanks and big respects go to all the people working on Alembic!) For more information, see the github repository (especially the issues section). Also "feedback is silver, contribution is gold" -- if you find a bug, good for you, if you can fix it, good for all of us ;) Thanks to Lucas Miller and Mark Elendt for their help. WHAT IS ------- This is a package of two simple geometry exporters to the Alembic file format. They're available as Output Drivers (ROPs): 1. Custom/Alembic Geometry Export --------------------------------- (ROP) This is an old-school (pre-soho) output driver: it exports a single object along with its hierarchical children. No fancy stuff (such as instancing) is supported. Simple as it is. this ROP works and it is stable and (should be) reliable. It will be replaced by the SOHO-based ROP, as soon as it's ready. 2. Geometry/Alembic Export -------------------------- (SOHO ROP -- alpha version) This is a SOHO-based exporter, which means that all Houdini facilities are fully available (most notably all kinds of instancing). Alembic is capable of auto-detecting geometry duplicates (it automatically creates instances), so instance away. This ROP also supports an 'abc_staticgeo' parameter (inheritable), which can be used to tag objects as non-deforming. Static objects are much faster to export. As this parameter is inheritable, you can use it directly on the ROP node, or on individual object nodes. Make sure you read the Notes below. Export Notes/Known Issues ------------------------- - The export root node is always a single Obj node. For all Obj nodes, the contents of the 'render' SOP will be exported. - For now only polymeshes are supported. Unsupported object types (ie. non-polymesh) are exported as empty transforms (nulls). - As for attributes, only normals (N) and UVs (uv) are supported, in per-point and per-vertex types. - Hierarchies supported as connected Obj nodes; Subnets are NOT SUPPORTED yet (although they might work). This is quite the opposite behaviour to the H11.1+ alembic import, but hey, no one said life's easy. Both ways of hierarchy representations are planned to be supported. - Transforms are exported as matrices for now--meaning that the final placements will match, but the xyz rotation values might NOT. (Expect Euler-style rotation-popping for animated 360+ rotations.) Alembic allows more sophisticated storing of rotations though, but it's not implemented here yet. There are a few issues that can cause Houdini or Maya crash or hang (see below), but the exported files are always correct (so far--knock on wood). SOHO-Exporter Notes ------------------- - It's an alpha version, meaning it kinda works (but parameters, UI, etc. will most certainly change). - SOHO requires a render camera to be specified. It won't affect the export in any way, so any camera will do. (This will be done automatically in later versions.) Houdini-related notes --------------------- If you compiled your own version of Alembic in order to compile this ROP (which is probably the case), and you use a different version of a library (say hdf5) than what comes with Houdini, the libraries might collide. For instance: if you export geometry with this ROP, then try to import it right back in, Houdini might crash (with hdf5 complaining in the console). In such cases simply do a restart of Houdini before re-importing. (Your .abc files will be intact, no worries -- but you can use the various hdf5 utils to check.) You can probably avoid all unpleasantries by building/linking your Alembic version with the exact same lib-versions that the Houdini version uses. Maya-related notes ------------------ Maya by default uses per-face-vertex storage for both normals and UVs (called per-vertex in Houdini), but in Houdini it's possible to have them as per vertex (called per-point in Houdini). Although Alembic might be able to convert between these datatypes to a certain degree (?), you might want to use the data type that's more appropriate. In short: better to stick to per-face-vertex normals and UVs. Maya 2011 seems to have problems when it comes to importing any normals from alembic, which can result in crashes or hangs. Either upgrade or forget about importing normals (or have a few sad days, like I did :|). History ------- version 0.03 (2011-12-15) Initial version of a SOHO interface (able to export geometry instances, etc). version 0.02 (2011-12-06) First version to export of hierarchies (transforms+shapes), polymesh normals and UVs. version 0.01 (2011-12-02) Can export a lonely polygonal shape.
About
A simple polymesh export ROP to Alembic format
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published