Storing mesh ColorSets in Alembic

LucaPrassoLucaPrasso Posts: 8

Sorry for the newbie question... I searched this forum and the scripts that comes with Fabric but I'm stuck.

I'm generating a procedural geometry in Fabric and assigning vertex colors (creating an attribute called "vertexColors").
I export the mesh to Alembic using the Fabric presets.
In Maya I cannot see the color set in the imported mesh.
I'm sure I'm missing an obvious step but I'm drawing a blank...

Thank you in advance for pointing me in the right direction,
Luca

Tagged:

Comments

  • HelgeHelge Moderator, Fabric Employee Posts: 314 Fabric Employee

    Hey Luca,

    I am not sure if Maya is actually loading the vertex colors. Can you validate in KL that the vertex colors are actually saved in the file? As in also build a loader for the data and test it in Fabric? The pipeline alembic tools in Maya might just not support vertexColors.

    Research Engineer @ Fabric Software

  • LucaPrassoLucaPrasso Posts: 8

    Here is a ZIP file with 2 ABC files, one created by Maya (a simple grid with a ColorSet), one in Fabric (a grid with vertex colors).
    I've also included a simple canvas file that reports the PropertyKeys.

    Maya generated ABC
    [".geom/.selfBnds",".geom/P",".geom/.faceIndices",".geom/.faceCounts",".geom/N",".geom/.arbGeomParams/colorSet/.vals",".geom/.arbGeomParams/colorSet/.indices"]

    Fabric generated ABC
    [".geom/.selfBnds",".geom/P",".geom/.faceIndices",".geom/.faceCounts",".geom/.arbGeomParams/vertexColors",".geom/uv",".geom/N","colorSet/colorSet"]

    The last entry here ("colorSet/colorSet") is my attempt to create a new property in Fabric.

    It looks like Maya store indices and values in a property called "colorSet" while Fabric stores directly the attribute "vertexColors".

    Thanks for looking into this,
    Luca

  • AlexanderMAlexanderM Posts: 132 ✭✭
    edited March 2016

    I've tested alembic-Fabric in Maya long time ago. I had no problems with colors in Maya https://youtu.be/EH3mqvynEeY

    Let's say NO to Autodesk®Fabric®

  • borjaborja Administrator, Fabric Employee Posts: 480 admin

    Hi @LucaPrasso

    I am looking into this. Stay tuned!

    Borja Morales
    Technical Product Manager
    Fabric Software Inc.

  • borjaborja Administrator, Fabric Employee Posts: 480 admin

    Hi @LucaPrasso

    Wanted to mention that we created the ticket FE-6340 to take care of this (supporting face-varying scope properly and correctly nesting the attributes so they are identified by Maya and other DCCs).

    Borja Morales
    Technical Product Manager
    Fabric Software Inc.

  • borjaborja Administrator, Fabric Employee Posts: 480 admin
    edited February 11

    Hi Luca

    We did some changes and now colorsets work properly in our current daily builds (http://dist.fabric-engine.com/FabricEngine/burrows/). Please see the attached .canvas and image

    Borja Morales
    Technical Product Manager
    Fabric Software Inc.

  • LucaPrassoLucaPrasso Posts: 8

    This is great! Thanks!

  • GabrielRoyGabrielRoy Posts: 42

    Hi, I'm also trying to send color sets back and forth between Maya and Fabric via alembic.

    Reading in in Fabric an alembic created in Maya with color sets is easy. The file comes in with the following properties:
    .geom/.arbGeomParams/colorSet/.vals
    .geom/.arbGeomParams/colorSet/.indices

    An also with the attribute:
    (ColorAttribute) colorSet

    But when I create some colors in Fabric, I can get as long as to store an array property, but not attributes.
    This property, if I name it "colorSet", will be written as "colorSet/colorSet" ... ??
    While if I name it "./colorSet", it will remain as that ...
    However, Maya doesn't recognize any of them as a colorSet

    I've also tried to create the properties with the same names that Maya seems to store: .geom/.arbGeomParams/colorSet/.vals and .indices, but when I use those names, no property gets written.

    Which would be the way to properly store the attribute so that Fabric writes those properties correctly, or at least, that Maya recognizes the color set?

    I attach two canvas files: one creating the color attribute and writing the alembic file, and another reading the file back in Fabric, to ensure I'm writing the correct information.

  • Olivier PinonOlivier Pinon Fabric Employee Posts: 5 Fabric Employee

    Hello Gabriel,

    I modified your graph (attached here) so that it exports colors that can be displayed in Maya.
    But this is just a temporary workaround. I had to modify the nodes "StoreMesh_MayaColors/WriteSample_MayaColors" : the sample adds an OColorfGeomParam to the ArbGeomParams of the mesh; and it sets its "mayaColorSet" metaData.
    If you import the Alembic frog in Maya, the colors should be displayed automatically.

    We filed the ticket FE-8126 to implement a better workflow for exporting colors to Maya. We will notify here when it's done.

    Olivier

  • GabrielRoyGabrielRoy Posts: 42

    Thanks a lot Olivier,
    I wouldn't have ever got there on my own.
    I think color sets are worth the effort as they become really handy in many situations.

  • borjaborja Administrator, Fabric Employee Posts: 480 admin

    Hi @GabrielRoy

    We have fixed this and it will be available in the next degas daily build!

    Borja Morales
    Technical Product Manager
    Fabric Software Inc.

  • GabrielRoyGabrielRoy Posts: 42

    Great! Thanks a lot!

Sign In or Register to comment.