question

James Robinson avatar image
James Robinson asked ·

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

displacementhtoaoperatoralembic
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Blair avatar image
Stephen Blair answered ·

@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/*

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Blair avatar image
Stephen Blair answered ·

*.(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

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

James Robinson avatar image
James Robinson answered ·

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

Thanks again!

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

James Robinson avatar image
James Robinson answered ·

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.


Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

James Robinson avatar image
James Robinson answered ·

Ah got it, selecting by polymesh works. Thanks!

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.