Alembic I/O.

Updated windows build to hash 1a17fcf to match latest updates and linux build.

Hi all,

This build is awsome :wink: Here a test in Guerilla render with fur :

Really great !!!

Matt

- Duplication works wonderfully! Good job!

Problems:

  • start_frame still does nothing for realflow *.abc sequence offset

  • Keyframing time is very handy! Thank you for adding this! It does not work as needed though. The problem is that it is direct multiplier to Frame, so if you have Frame 100 and frame_scale is 1 -> 1x100 = 100 however if you now decide that you want everything to slow down by keyframing it to 0.5… result will be 0.5x100=50. This means that playback will glitch and move in reverse.
    http://cgstrive.com/alembic/framescale.gif
    Instead of Frame*Frame_scale you need current_frame+PlaybackRate(frame_scale) for keyframing to work.

Or you can lose Frame_scale all together and use single FRAME field for value based playback as described in posts above. For example: frame=#frame // frame=#frame%30 - for loop // frame = frame+50 for offset // Graph Editor curve for slow-motion or even 500-#frame for reverse. This has some advantages over keyframing playback rate.

Could you also provide a small tutorial, on how to compile?! I could try to compile blender here, with alembic support for OS X.

The compiling of the branch itself was straightforward, but getting the alembic/hdf5 libs was an ugly hacking to get it work.
Either try Kevin’s instructions or i should commit the built libs to darwin9 libs asap.

The MacPro is just borrowed to a friend atm. and i would have to setup a new ssh key cause somehow apple does not swallow the private/public keys i had set from linux ( sigh ).

EDIT: pushed the osx 10.6+ compatible alembic and hdf5 libs now from my linux, should be visible and usable in a while.

Jens

Todays linux:

– PACKAGE-INFORMATION –
Branch: alembic_basic_io
Revision: f850c4e
Submodules: locale a87cfb8 addons 75fb4e0 addons_contrib 72c24a1
OS: GNU/Linux, Architecture: x86_64, GLIBC: 2.19
Builddate: Mo 27. Jun 17:31:21 UTC 2016
Filesize: 73391504 byte
Shasum: b40f59ba59c7266ea168d14d12d1661eaeb4ef12
URL: http://www.jensverwiebe.de/Blender/blender_alembic_basic_io_linux64_latest.tar.xz

Jens

Windows is updated too to hash f850c4e but could not announce due to the forum downtime.

Crease edges are not imported in Blender

Here is a alembic sphere saved in maya with some crease edges

Attachments

TEST_ALEMBICSphere.zip (5.21 KB)

@jensverwiebe: thanks for uploading the Alembic & HDF5 libs for OSX. I had problems building Alembic myself and didn’t have time to figure out how to get it to work.

For those interested I made a build for OSX. It’s the first time I built blender for other people (but I build blender almost daily for myself), so if there are problems, please let me know.

Though not as detailed as Jens’ information, here is some information about the package :):

– PACKAGE-INFORMATION –
Branch: alembic_basic_io
Revision: f850c4e
Shasum: c3eccd9f18f632471b7c626f64846b74866aa0c2
URL: http://www.linesofjasper.com/blender/blender_alembic_basic_io_osx64_latest.zip
Cheers,

jasper

The normals in this file are per vertex, to get smooth normals we should have per face normals. Flags to indicate whether or not smooth normals should be used are per face and are destroyed when creating a new mesh, so not sure how to deal with that here.

The code was copied from the mesh cache modifier, which is a bit strange.

Typing an expression directly in some field (e.g. #frame + 50) won’t work, but you can add some driver to the field actually, then it is similar to what Houdini does I guess. And you will be able to use fonction curves as well, to some extent.

I simplified that and now there is a single field, with a check box to activate it. By default it will lookup the value for the current scene frame, though if the check box is ticked we lookup the value from that field (including drivers and all). The check box is kinda needed to avoid complicating the code too much for now. Just tell me if it works as expected now.

Should be fixed now, thanks!

Actualized Linux accordingly:

– PACKAGE-INFORMATION –
Branch: alembic_basic_io
Revision: 5353418
Submodules: locale a87cfb8 addons 75fb4e0 addons_contrib 72c24a1
OS: GNU/Linux, Architecture: x86_64, GLIBC: 2.19
Builddate: Do 30. Jun 15:40:45 UTC 2016
Filesize: 73493216 byte
Shasum: 35eca59c874cdff1657cdb727711a06950922952
URL: http://www.jensverwiebe.de/Blender/blender_alembic_basic_io_linux64_latest.tar.xz

Jens

On OSX I can the following build error:


/Users/jasperge/src/blender_alembic/blender/source/blender/blenloader/intern/writefile.c:189:10: fatal error: 'dna_type_offsets.h' file not found
#include "dna_type_offsets.h"
         ^

Is this an error in my setup or an error in the code?

P.S. I forgot to say earlier: Kevin thank you for your work on this! I’ve been waiting for this for a long time. Keep up the good work!

Its most likely an error on your side. I compiled an 5353418 testwise ootb. No cache cleaning needed, no specials. But perhaps you catched a bad intermediate commit, so try cleaning cmake cache and retry .

Jens

Important!

Just to let you know that Alembic 1.6 has been released, and this is now the officially supported version of Alembic. Also it is easier to build.

HDF5 support is dropped as it is considered legacy. I have removed HDF5 support from install_deps.sh, but you can still compile Blender with HDF5 support by enabling WITH_ALEMBIC_HDF5, though, I repeat, this is legacy, and from now on, not to be considered officially supported. Maybe that can change in the future, but I doubt it.

I updated the guide on the wiki for how to build Alembic.

Thank you KWD for your amazing work as always! Waiting for windows build to give it a try :slight_smile:

  • regarding Faceted normals, currently facets introduce flicker which makes certain sims with liquid or slow mo very difficult. Just the simplest solution development wise to override with smooth shading would impact and help most alembic users.

It’s also good to hear about 1.6, eager to try how it behaves.

Thank You!

Also, can people around here test how NURBS behave (in the next builds)? I have done a bit of bug fixing there, though I at least expect files exported from Blender to fail in other software for cyclic NURBS (sphere and torus e.g.), et vice versa.

I reconfigured my buildbot for the new alembic-1.6/hdf5-less method now:

– PACKAGE-INFORMATION –
Branch: alembic_basic_io
Revision: f9fb9bb
Submodules: locale a87cfb8 addons 75fb4e0 addons_contrib 72c24a1
OS: GNU/Linux, Architecture: x86_64, GLIBC: 2.19
Builddate: Fr 1. Jul 18:18:10 UTC 2016
Filesize: 72241264 byte
Shasum: 030197e5bc7bdee0f10c81e280ecb8bc0f5986bd
URL: http://www.jensverwiebe.de/Blender/blender_alembic_basic_io_linux64_latest.tar.xz

Jens

Hey Kevin. Just to remind you, ABC 1.5.8 made odd use of CMAKE_INSTALL_PREFIX by adding its own suffix. You will need to change the cmake argument from $INST to $_inst to get it in the right directory.

Hi guys, this is possible to have a windows build to test the last version ?

Thx a lot :wink:

  • I heard blender will be used in a film production in france, all that thx to alembic !
    I cannot say more, but this is really great !

do you know if they need animators?, i’m moving to spain soon and want to move to france to work in features =)