question

Slava Sych avatar image
Slava Sych asked ·

htoa (operators) - how to get path to group in Arnold procedural?

Hi!
I have a ass file loading to Arnold Procedural, and I need get path to groups inside of him for hide some of them.
Does any one know how to get it, and get groups list without opening ass file in text editors?
Thanks

htoaassproceduralsoperatorsgroups
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.

Mads Drøschler avatar image
Mads Drøschler answered ·

Pseudo UI.

In the operator canvas, create 2 nodes. A set parameter and a procedural node.

Set the settings to something like I did here:
visibility = 0

Then pick the nodes with the selection string.
In this case I pick /Sp*
This is all the spheres.

Then link the Set parameter node to a procedural node, and link this procedural into the Arnold Procedural scene node. ( you should have this slot in Houdini as well is my take )

Finally, atleast I have to: Set the "set parameters node" via rightclicking it, and promote it to be the "Target operator"

Unfortunately, I dont think you can see the list I can, as it would be sitting on the Arnold Procedural node directly, I would guess you could see this list already if it was integrated.

So, I guess the Houdini version of Procedural, should have a similar list like I got in the DCC I use here.

qweqweqwe.png


qweqweqwe.png (151.2 KiB)
3 comments
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.

Thanks for you example Mads
but what you write works fine only in max and maya, and doesn’t work normaly in houdini, and no, procedural interface here different than in maya and max, and it does not give you list of groups.

0 Likes 0 ·

For it work, I need to specify in the operator, path to this procedural node to the objects context, and this works globally for it, but I not understand get groups from it, because, examples from maya or max, simply cease to influence on procedural node, and in the docs they did not bother to add anything for htoa except "we have a nodes and they can do something"

0 Likes 0 ·

besides, why use Set operator if we have Disable operator?
I would like to see a practical example or clearer clarifications from a artist working in houdini.

0 Likes 0 ·
Slava Sych avatar image
Slava Sych answered ·

and maybe web developers fix limitation for Comment answers?
1608372816972.png


1608372816972.png (44.1 KiB)
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.

Slava Sych avatar image
Slava Sych answered ·

it was necessary to first show this, and ask, how to access these groups?
1608375533907.png


1608375533907.png (487.0 KiB)
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 ·

Ultimately we want a UI like in MtoA. But for now...

If you use an operator and select *.(@node=='polymesh'), then a Debug-level log will show the names of the matched polymesh. So that's one way.

If you have Maya, load the ass file and use the aiStandin ui.

A command-line script, either with the Arnold API or maybe just a perl-one liner.

7 comments
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.

Hi Stephen,
yes maya as a temporary option good for now
as for UI - I hope that someday it will appear after 7 years of connector development, want to believe it)

May I ask you more explained, it is possible to invert the selection in SetParameter (screen1) and how to turn off the light source for a specific group?
I tried create group in collection but not see how to use it with Disable operator

Thanks


screen1.jpgscreen2.jpg

0 Likes 0 ·
screen1.jpg (19.3 KiB)
screen2.jpg (14.6 KiB)

screen1: You want to invert the selection, which I understand to mean you want to select all polymesh nodes not named /ast_wc_orc_v001/wc_orc_body/wc_orc_bodyShape ?

In that case:

*.(@node == 'polymesh') and not *.(name=='/ast_wc_orc_v001/wc_orc_body/wc_orc_bodyShape')


0 Likes 0 ·

screen2: how to reference a collection

You use the # symbol and the collection name in your selection expression.

So instead of /obj/hdr*, you would put #my_collection, where "my_collection" is the name of your selection



0 Likes 0 ·
Show more comments

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.