Houdini's Particles to Blender with Alembic ( Attributes import problem )

(razin) #1

i did a particles sim on Houdini and instanced some cube on the points and exported the .abc and imported it to blender and it’s fine.

The problem is that i can’t use the attribute ‘age’ or ‘Cd’ in cycles with the attribute node,
first of i though the attribute didn’t get exported, so i imported the .abc on a new Houdini instance and there was no attribute, but then i set the “load as” to " unpack alembic delayed load primitives ".

And there was the attributes i wanted

so i went back to blender and i searched for option that the one on Houdini to unpack attribute, the only option i find is " Validate Meshes " but still nothing.

So my questions are :

How can i get the attribute from Houdini to Blender ?


Is there a way to see the attribute list of an object ( like the spreed sheet of Houdini ) ?

Thank you


(razin) #2

bump :confused:


(Steffen Dünner) #3

Sadly, no. Not at the moment.
Blender Alembic support is quite limited still, no attributes (except for UVs), no access to them. Only exception is vertex colors, depending on how they are written and on what geometry.

I hope this will change during the development of 2.8x because this is a very important point when it comes to pipeline integration of Blender. Houdini and Blender could be best friends ever, but the exchange is the limitation still. (But then again try importing simple points from via Alembic from Blender or Houdini into Maya, LOL!)


(razin) #4

oh :confused: this is sad, as you said blender & houdini can be best friends, shading in houdini is not fun, doing simulation in blender is limited.
anyway, thanks for your response



I can’t find much informations about that.
I’m in Razin’s situation I have a simulation full of attributes useful for shading but can only retrieve uv and Cd using OSL getattribute() which is strange as in other DCC’s using OSL I can just use any of the source geometry attributes …

I’m primarly using GafferHQ for lookdev but I would like a way to also use all of this in Cycles.

Side note for Houdini users, when creating custom attributes planned to be exported, always add a setattribtypeinfo to explicitely tell the type of attribute (http://www.sidefx.com/docs/houdini/vex/functions/setattribtypeinfo.html)

Does anyone know why is Cycle OSL limited in attribute accessing ?



(razin) #6

read the comments



(kkar) #7

You could export all those attributes into a .txt file using Houdini Python and apply that back in Blender with another script. It does not sound hard, especially Houdini’s Python is straight forward with geo data. Obviously this means the mesh has to be baked or the addon needs to work on per frame to apply those values. Although I am not sure if one can access to alembic mesh cache like a regular mesh data in Blender.



@razin thanks for the link.
So this not implemented even after reading the dev thread I’m not sure why this is the case and what are the reasons for limiting alembic attributes access, I’ll ask over there.

@kkar thanks for the suggestion but that won’t work in most cases as data can be sparse.


(Steffen Dünner) #9

IIRC Sybren wrote somewhere that they’re currently super busy getting 2.80 out of the door.
So I guess the Alembic IO will not get any love before that. But after that I hope they invest some time into this extremely important area.
Access to attributes opens so many possibilities.


(Atom) #10

It does work, for faces, not particles, yet. Make sure, inside Houdini, you add the [email protected] attribute to each primitive/face you want to transfer color on. The only attribute that seems to transfer is @Cd, but you can pass an animated @Cd attribute, pick it up using the Attribute node, inside of Blender and route it to a color input.

In this GIF I animated Cd inside Houdini and Blender was able to present it as a Vertex Color.


(Steffen Dünner) #11

Thanks for this info. Actually I already did use this (but didn’t update my last reply).
Let’s hope that after 2.80 is out in the wild there will be resources to fix the Alembic im- and exporter to fully support all attributes.

EDIT: N and v would be to most important ones for now.


(Atom) #12

You could try renaming @[email protected] to try a test?
I do agree with melmass about not limiting us on attribute names.

I just tried animated @Cd with Evee and it does work at render time. The viewport just shows all white, however.


(Steffen Dünner) #13

You mean renaming it in Houdini? It doesn’t transfer, I already tried.


(Atom) #14

Yes, rename it in Houdini, before export.
So consider this image. I dropped down a trail sop and computed velocity on the points. Then I promoted the points to vertex. Then I dropped down an attribute wrangle in vertex mode and used [email protected] = [email protected];.
Export as Alembic and Blender picks it up.

The water is now colored with the velocity that it was moving.


(Steffen Dünner) #15

Yes, that’s exactly what I was doing as well. The problem is: Where do you go from there? You can’t tell Cycles to use these colors as motion vectors again. Or can you?


(Atom) #16

I don’t see Evee picking up on the motion blur of the animated mesh out of the Alembic. I guess it’s still a WIP.