Community
Arnold for 3ds Max
Rendering with Arnold in 3ds Max using the MaxtoA plug-in.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

HtoA Alembic Procedural Displacement not working with Assign Material operators

5 REPLIES 5
SOLVED
Reply
Message 1 of 6
jamesrobinsonvfx
665 Views, 5 Replies

HtoA Alembic Procedural Displacement not working with Assign Material operators

When assigning shaders with operators in ROPs to alembic procedurals, displacement does not appear to work.

I saw this post and it works when you assign the shader to the object at object-level, but when assigning with an "Assign Material" operator, the surface shading is correct, but no displacement occurs.

Am I missing something?

EDIT: alembic-procedural-displacement.zip

Scene file attached

Labels (4)
5 REPLIES 5
Message 2 of 6

@James Robinson

Updated...

The Arnold procedural and alembic nodes don't have a disp_map parameter, so that's why this doesn't work. You need to select the polymesh nodes that are created when that alembic node is expanded during the render.

For example: /obj/RND_torus_proc/*



// Stephen Blair
// Arnold Renderer Support
Message 3 of 6

Ah got it, selecting by polymesh works. Thanks!

Message 4 of 6

ass-instance-procedural-parameters-fixed.tar.gzHi @Stephen Blair,

Is there a way to select the polymesh nodes of instanced procedurals to apply displacement to them? In the attached scene file I've tried selecting by /obj/RND_rock/* (and *.(@node == 'ginstance')) which doesn't work at all) but only the new shader assignments come through, no displacement.

ass-instance-procedural-parameters.tar.gz

EDIT:

I guess I can sort of get it with exclusion. Naming my instances something like INST_whatever and other objects like RND_items and selecting all the polymeshes that aren't INST_* like (*.(@node=='polymesh') and not *RND*) but I can't imagine this is the best way.

EDIT 2:

Ok I've got it now. It's easiest to just put a new attribute on the points themselves, call it something like s@asset = "rocks" then using the parameter selection expression *.(asset == 'rocks') to do the selection. Unless you guys think there's a better way, I'll go with that.

Message 5 of 6

*.(asset == 'rocks')

looks good to me. Self documenting too

displacement wouldn't come through for instances because the *ginstance* node doesn't have *disp_map* parameter



// Stephen Blair
// Arnold Renderer Support
Message 6 of 6

Oh duh I guess I could've seen that myself w/ kick -info ginstance

Thanks again!

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report