Sunday, October 16, 2011

Alembic Exporter for Blender ( work in progress)

Binary package for 64 bits Linux: http://graphicall.org/625
A patch against blender svn trunk code is included in the package.
It's written in C++, so it's quite fast.


Features:

- object hierarchies.
- custom properties are saved as uniform geoParams or user data.
- meshes and subdivision surfaces with modifiers, uvs, vertex colors, edge creases, ...
- material indices and facesets for Maya.
- fluid meshes export, with per vertex velocity.
- frame relative sampling for better motion blur.

Not working yet:

- particles. It seems there are some problems with subframe access to particles.
- Nurbs, curves, Metaballs and Text objects.
- dupliverts, duplifaces and other dupli options.
- dynamic paint vertex colors: Didn't have time yet to test it fully. It doesn't work for me.


current exporter options.


First? exported Alembic archive from Blender.


A more interesting example.


One of the recently released Project London rigs imported into Houdini.

13 comments:

  1. That's awesome!! I hope you continue it's development and see it through to completion! Blender really needs this feature, as it would help it play better with others. Thanks for your efforts.

    ReplyDelete
  2. Hey Dude!
    This is awesome!
    I've been fiddeling around with this my self the last couple of days in python api. I'm playing back the octopus at 60fps no problem, but I'm using change_frame_post callback and updating mesh directly. Also I'm having trouble generating a more complex mesh with non standard facesCounts.
    The modifier way is really the way to go I think, but my C++ skills are NULL so coming across this post really rocked!
    Any chance of getting to test this somewhere?

    ReplyDelete
  3. By the way. Here's a screencast of my octopus @25fps.
    http://vimeo.com/30759415

    ReplyDelete
  4. Daniel,

    I uploaded the code to github: http://github.com/est77 , Alembic branch.
    It's not currently working. I need to fix a few bugs today and undo a hack I did.

    Your octopus is also cool. Can you share your script with me?

    Check also the Blender artists thread, were we are talking about this project:

    http://blenderartists.org/forum/showthread.php?227988-alembic

    ReplyDelete
  5. Hi Again!
    Thanks for sharing the code:)
    I'll try to attach my script in my post on the forum.

    ReplyDelete
  6. Great! Alembic sounds promissing :)

    ReplyDelete
  7. nice, great stuff! do you also plan to support shading/material properties?

    ReplyDelete
  8. Alembic does not store shading properties or lights. You are supposed to use it to bake your scene animation before lighting and texturing.

    Vertex colors and per face material indices are the only shading related properties supported by the exporter.

    ReplyDelete
  9. Thanks. I used this for a couple of VFX shots on a feature film (don't know if I can say which one yet). The shots were animated in Blender and then exported via Alembic to Maya. It worked great. Hope to see this get merged with the official Blender release soon.

    I did have a small issue. When you have multiple identical characters linked in to Blender, exporting all of them doesn't work. You need to do export selected on each one. It's not really a big problem, and I didn't have time to research it further to figure out what was causing it.

    ReplyDelete
  10. What is the state of the Alembic plugin ? Is someone still working on it ? Is there a code repo somewhere ?

    ReplyDelete
  11. As Ragnar mentions above we used it a few times and it works except for the above mentioned issues. I don't think it's going to get any more updates from Est, but the sources are available as patches in the package from graphicall.

    ReplyDelete
  12. Thanks Daniel. Any chance to get the Alembic export merged into the main Blender codebase ?

    ReplyDelete
  13. Hello guy.

    I have interest in make a donation for an Alembic Importer on Blender (that is much more important for me because Cycles is very good)

    Let me know if you can do it.

    thanks.

    ReplyDelete