Jump to content
davpe

Can Blender recognize a @path attribute in Alembic?

Recommended Posts

Hey, 

I'm just having a bit of fun playing around with Blender to see if it's feasible for us to do some previz renders with Eevee. Everything else is done in Houdini, it's just about rendering it in Blender. So I exported an Alembic with a @path attribute to build a desired scene hierarchy. Unfortunately, Blender doesn't seem to be able to read this and when I bring in my rbd sim with 1000 pieces, it will generate 1000 objects in Blender, instead of what I want based on the path attrib. Also, everything is called like geometry001, geometry002, etc. This is quite an essential feature, so I hope there is a workaround to make it work?

Thanks for any advice. D.

Share this post


Link to post
Share on other sites

Blender is attribute challenged, that's for sure.

I can't get attributes to transfer, except @Cd for vertex color (which Blender still doesn't use - it just shows up under the mesh data context). What few attributes that Blender can recognize are "hard coded". I don't foresee any change in this workflow, unless you alter the Blender code, itself.

Share this post


Link to post
Share on other sites

if you use path attribute to build hierarchy from it will not be saved as an attribute to the geo, it will literally split the geo into separate objects based on the path, most of the applications bring it in as separate objects

but the naming should be coming from the path attribute unless you are exporting packed primitives

packed primitives may still be forced to separate objects to preserve instancing and if more of them have the same path, then houdini has to make up the names

 

so I'd try unpacking everything, setting up clean path attribs and then the geo should come in into blender segmented only based on path attribute with correct names

Edited by anim

Share this post


Link to post
Share on other sites

yeah alright guys, thanks for your help. i was trying to read packed geo and that was apparently too ambitious attempt :) but otherwise it works fine with regular geo and hierarchy from @path.

cheers, D. 

Share this post


Link to post
Share on other sites
8 hours ago, Atom said:

Blender is attribute challenged, that's for sure.

I can't get attributes to transfer, except @Cd for vertex color (which Blender still doesn't use - it just shows up under the mesh data context). What few attributes that Blender can recognize are "hard coded". I don't foresee any change in this workflow, unless you alter the Blender code, itself.

"Cd" only exists in Houdini, the rest of the world uses the "standart" naming. 
drop an attr rename node, in renderman tab turn on "Add Default mappings", export it.  Renderman,Arnold, Cycle etc. should be able to pick up Cs (aka Cd in houdini). you can check name correction the details spreadsheet.

Share this post


Link to post
Share on other sites
9 hours ago, Atom said:

Blender is attribute challenged, that's for sure.

I can't get attributes to transfer, except @Cd for vertex color (which Blender still doesn't use - it just shows up under the mesh data context). What few attributes that Blender can recognize are "hard coded". I don't foresee any change in this workflow, unless you alter the Blender code, itself.

 

1.png

2.png

Share this post


Link to post
Share on other sites
55 minutes ago, schwungsau said:

"Cd" only exists in Houdini, the rest of the world uses the "standart" naming. 
drop an attr rename node, in renderman tab turn on "Add Default mappings", export it.  Renderman,Arnold, Cycle etc. should be able to pick up Cs (aka Cd in houdini). you can check name correction the details spreadsheet.

Nope,Blender able to pick any attribute name as you named it in Houdini,"Cd","blabla",etc.

Edited by Iskander
  • Like 1

Share this post


Link to post
Share on other sites

thats right, but using standart names helps a lot, less names mapping and better for osl shader writing

Share this post


Link to post
Share on other sites

it's a shame thou it cannot work with instances at this point. quite light scenes in Houdini become super heavy as everything needs to be unpacked. does anyone have any info on whether there is an effort from Blender side to address that? i was trying to google it and found a bunch of people complaining about that but that was about it...

Share this post


Link to post
Share on other sites

Last time I checked Houdini wasn't able to import instanced geo from alembics as instances either. Luckily there is .usd now

 

  • Like 1

Share this post


Link to post
Share on other sites

anim: when i say instances i mean packed geo. 

Share this post


Link to post
Share on other sites
8 hours ago, davpe said:

it's a shame thou it cannot work with instances at this point. quite light scenes in Houdini become super heavy as everything needs to be unpacked. does anyone have any info on whether there is an effort from Blender side to address that? i was trying to google it and found a bunch of people complaining about that but that was about it...

last i did manual instances in blender. loading geo "unpacked"and create instance duplicates in blender. the scene was light weight. anyway cycles does not support directly alembics., it needs conversion before it renders.

but branches of blender/cycles already in the works.  

you also can try pro-render, its has plugin for Houdini and fast rasterize rendering for previz

Share this post


Link to post
Share on other sites
32 minutes ago, schwungsau said:

last i did manual instances in blender. loading geo "unpacked"and create instance duplicates in blender. the scene was light weight. anyway cycles does not support directly alembics., it needs conversion before it renders.

but branches of blender/cycles already in the works.  

you also can try pro-render, its has plugin for Houdini and fast rasterize rendering for previz

yeah, well first of all I'm only interested in eevee for super fast outputs.

second, thing is that handling unpacking geo in general is not an option on many projects - I'm afraid that slowness of such workflow, and handling of huge caches would overweight benefits of faster rendering.

third, an idea of doing extra work of "recreating" instances in blender is not a viable option. we just want to load the shit in, drop an enviro light, plug in textures and have turntable render (for instance) in 10 mins. 

pro render for houdini sounds like an interesting alternative. will look into it.

thanks for your insights anyways ;)

Share this post


Link to post
Share on other sites
2 hours ago, davpe said:

anim: when i say instances i mean packed geo. 

what I meant is that if you have efficiently instanced packed geo in houdini (many packed primitives point to the same geometry in memory) and you export as .abc preserving instancing (so .abc is pretty lightweight)

reading such .abc back into houdini would bring in each individual packed alembic primitive having unique geometry memory reference, losing the notion of referencing the same geo source

I'm not sure if this is still the case, but it used to be that way

 

Share this post


Link to post
Share on other sites
3 hours ago, anim said:

what I meant is that if you have efficiently instanced packed geo in houdini (many packed primitives point to the same geometry in memory) and you export as .abc preserving instancing (so .abc is pretty lightweight)

reading such .abc back into houdini would bring in each individual packed alembic primitive having unique geometry memory reference, losing the notion of referencing the same geo source

I'm not sure if this is still the case, but it used to be that way

 

hmm, cant really argue against that, as I'm not sure how to reliably test that. anyways, it's still incomparably more efficient than unpacking the whole thing.

Share this post


Link to post
Share on other sites

I think there is USD support in Blender in experimental branches,why not to use it instead ABC?

Share this post


Link to post
Share on other sites
7 minutes ago, Iskander said:

I think there is USD support in Blender in experimental branches,why not to use it instead ABC?

thats want i do

Share this post


Link to post
Share on other sites

didn't know blender has USD support. "experimental branch" doesnt sound like something polished enough to rely on :) might look into it thou.

I'm quite keen thou to test this ProRender for Houdini you mentioned. would be more straightforward than sending data between different apps for sure.

anyways, thank you guys, i appreciate all the info and suggestions here. 

Share this post


Link to post
Share on other sites
19 hours ago, davpe said:

didn't know blender has USD support. "experimental branch" doesnt sound like something polished enough to rely on :) might look into it thou.

I'm quite keen thou to test this ProRender for Houdini you mentioned. would be more straightforward than sending data between different apps for sure.

anyways, thank you guys, i appreciate all the info and suggestions here. 

As i know it will in 2.82 officially.

 

Share this post


Link to post
Share on other sites
On 1/13/2020 at 7:58 PM, Iskander said:

 

1.png

2.png

Can you tell me how you did this?  I have not been able to get anything other than 'Cd' to transfer from Houdini to Blender, this would be a huge game changer for me.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×