alembic

Kaito mentioned on IRC that Alembic has been discussed but no plans have been made yet.

As a very rough guestimate he mentioned it perhaps, possibly, being for 2.7x which I think is a little late for Blender to get into the game.

Now of course this is just chit chat and things can change and since no plans have been made it could end up being for 2.6x, I guess it all depends on the urgency, if the foundation actually see it as an issue (they don’t use other 3D tools as far as I know so really this wouldn’t be an issue for them for an open project I think), and how complicated it would be to get it all working together.

I’m just thinking a loud here but this does raise a general issue with Blender development and the Foundation, since they stick to open-source tools while making the shorts it does mean that Blender isn’t getting used in a pipeline along side other tools, such as other DCC suites, or compositing applications like Nuke so it can never really be production tested properly until a studio, or project that makes use of those tools picks it up. And of course if it isn’t production tested then there is only a small chance of it getting picked up and used for anything major, as bugs and issues like the EXR issue will persist in Blender.

Sorry, I was getting a little off-topic there.

Anyway I do hope that this is a feature which gets funded by the grants, and I know there are a hundred different areas of Blender that need work done, and many bugs, user issues and other such things need work to, but at least with Alembic comes the possibility of using Blender efficiently along side other applications which may have a stronger area, for example a solid link with a render engine, or something like that.

I agree with the others,this project should be done,it’s a really important thing(much more than coding a new rendering engine for example)

Its a shame they are not prioritizing alembic, its caching capabilities could be a huge boon for all of blender’s internal dynamics systems. This could be very beneficial on mango, even.

However, that being said, i also think that cycles is of major portance, as are things like getting proper bullet integration (has development stalled there too?)

They cant do everything at once, so i understand their position. I just hope someone else steps up and makes it happen soon. :slight_smile:

no, this is different.

regarding exporting/importing models only, .obj reads pretty well. alembic is for entire scenes, ___ blender has a potential in fluid sims in pipelines. which many packages are missing.

I agree, and it would permit to test blender in an already structured pipeline , without too much effort for the facilities…
(which means that can be actually proposed)

We are looking into Alembic for our max/maya pipeline. I would love to see a max/maya/blender pipeline and it would be extremely useful to have Blender weigh in more on projects.

I have a basic Alembic exporter. It’s still very early to release it, but it looks promising…
More details, here.

That’s amazing, thank you so much for taking the initiative to code this :smiley:

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.

nice Esteban! I like that you mention …

There are other possible uses of Alembic inside Blender, like replacing the
fluid and particle
caches with Alembic files, that could also be interesting.

dunno if you have to venture into C instead of C++ then. but maybe particles guy jahka could fix that! it would surely rock. especially fluid sim. many packages is missing a fluid sim and then blender could step in and do the fluid sim and export via alembic to other packages in pipeline.

best of luck!

Replacing the fluid and particles cache with Alembic is just an idea for the future,
not something I’m working on. If someone wants to try it, I think it wouldn’t be too
difficult. Just refactoring a bit my code and for users, probably caching again their
simulations.

Currently, fluid meshes can’t be exported. There’s some discussion on Alembic’s
group about it but I think they will have a solution soon.

For this project, most of the code is C++. The situation has improved for me,
compared to previous Blender versions. Now, I can use boost and other C++
libs I’m used to. C++ is slowly winning over C in Blender’s code base.

I need some help with the project. Mainly testing and a bit of Python coding.
I can do 64 bits linux builds and upload my code somewhere for others to do
Windows and OSX versions.

Is anyone interested?

Interested? Here! Here!
Looks like you got an import modifier going already?
I could help with testing and python coding. Atm I have access to houdini and maya as well to check whats comming across :slight_smile:

Thanx so much for starting this!
Btw. have you gotten in touch with BlenderFoundation? Might be that there’s some room for founding this?

I am interested in testing… You should consider setting implementing this into blender fully, I am sure that lots of people would fund it.

Just noticed !
brilliant thanks for the work you are doing , it’s a great addition to blender :slight_smile:
Cheers.
L

I need some help with the project. Mainly testing and a bit of Python coding.
I can do 64 bits linux builds and upload my code somewhere for others to do
Windows and OSX versions.

Is anyone interested?

I’m interested in helping! I 'm also on a 64bit linux, but perhaps I can contribute in some way anyway.
Here’s my go at a python hack resulting in pretty good playback of the octopus, but fail in a complex model.

The first build is at http://graphicall.org/625 Linux 64 bits, also includes cortex, partio, …
The code is at https://github.com/est77/Blender-vfx, Alembic branch.

I know this is the Alembic thread, but try cortex too (it’s great and can do some of the
things Alembic does).

Warnings:

  • Do not use this with anything important.
  • Export is work in progress. It’s not complete. For now transforms, hierarchies, meshes and cameras are exported, with animation.
  • Fluid meshes ( and meshes that change topology) are not supported by Alembic yet.
  • Import does not work. The pieces are there (look in bpy.alembic), but export is a higher priority for now.
  • The alembic addon does nothing (it’s just a placeholder for later). Help improving it is appreciated.

To export your scene to an alembic archive:

open the python console in blender, and type bpy.alembic.export( bpy.context.scene, “filename”, start_frame, end_frame)

I have updated the build. http://graphicall.org/625
Alembic export is now an operator, it shows in the export menu.
There are still some issues with object parented to bones and the file chooser dialog.

If this gets enough testing, maybe we can ask the code to be reviewed and try to include it in trunk for 2.62.
So, if you are interested please test it and let me know if it works or it doesn’t.

Wow! impressive build looking into it. Est777 explain a bit what works on the build you made? Ok found the readme with lots more info still would be nice to see progress graphs. k the wiki is quite informative http://code.google.com/p/cortex-vfx/w/list I was reading in there that there is a particle surfacing using marching cubes. What would it take to get that in Blender? SPH fluid particles really needs this.

The Alembic exporter is a bit rough, but basically works. It has some bugs with
objects parented to bones and other old Blender options from before constraints
were added. It exports meshes and subdivision surfaces, with animation, uvs, normals,
vertex colors and custom properties. It also writes transform hierarchies and cameras.

Cortex and partio are tools to build your own tools. I have written an import - export
addon for cortex objects and a basic module to convert geometry between cortex and blender.

Siggraph 2011 cortex presentations: www.vimeo.com/cortex