Good day,
Currently working on some operator graphs in HtoA—I've noticed that "geometry / procedural" Arnold Visibility are quite un-intuitive to use.
The first "port of call" would be using the listed parameter name, such as:
ar_visibility_camera
ar_visibility_shadow
ar_visibility_diffuse_transmit
etc.
Alongside reading the HtoA Documentation:
https://docs.arnoldrenderer.com/display/A5AFHUG/Set+Parameter
One would assume we'd write the assignment as:
ar_visibility_camera = False
This however doesn't work.
Only on further digging, I've noticed that "Visibility" is using a "bitmask" format?
(random post from 2020)
Which complicates would should otherwise be quite simple...
This bitmask method doesn't seem to be noted in the documentation?
Would be nice to get some clarity here.
All the best,
Andrew
Solved! Go to Solution.
Solved by Stephen.Blair. Go to Solution.
The "ar_" prefix isn't part of the Arnold parameter names, that's just something used in Houdini for spare parameters.
Set Parameter works on Arnold parameters, and you have to use Arnold parameter names (you can list them with kick, see below).
For visibility: https://arnoldsupport.com/2018/11/21/backdoor-setting-visibility/
polymesh parameter names:
C:\Program Files\Autodesk\Arnold\maya2022>bin\kick -info polymesh node: polymesh type: shape output: (null) parameters: 48 filename: <built-in> version: 6.2.1.0 Type Name Default ------------ -------------------------------- -------------------------------- BYTE visibility 255 BYTE sidedness 255 BOOL receive_shadows true BOOL self_shadows true BOOL invert_normals false FLOAT ray_bias 1e-06 MATRIX[] matrix (empty) ENUM transform_type rotate_about_center NODE[] shader (empty) BOOL opaque true BOOL matte false BOOL use_light_group false NODE[] light_group (empty) BOOL use_shadow_group false NODE[] shadow_group (empty) STRING[] trace_sets (empty) FLOAT motion_start 0 FLOAT motion_end 1 UINT id 0 UINT[] nsides (empty) UINT[] vidxs (empty) UINT[] polygon_holes (empty) UINT[] nidxs (empty) UINT[] uvidxs (empty) UINT[] crease_idxs (empty) FLOAT[] crease_sharpness (empty) BYTE[] shidxs (empty) VECTOR[] vlist (empty) VECTOR[] nlist (empty) VECTOR2[] uvlist (empty) BOOL smoothing false ENUM subdiv_type none BYTE subdiv_iterations 1 FLOAT subdiv_adaptive_error 0 ENUM subdiv_adaptive_metric auto ENUM subdiv_adaptive_space raster BOOL subdiv_frustum_ignore false ENUM subdiv_uv_smoothing pin_corners BOOL subdiv_smooth_derivs false NODE[] disp_map (empty) FLOAT disp_padding 0 FLOAT disp_height 1 FLOAT disp_zero_value 0 BOOL disp_autobump false BYTE autobump_visibility 1 FLOAT step_size 0 FLOAT volume_padding 0 STRING name
Hello,
Thanks for the info!
I'm just wondering why this isn't in the official documentation? I think most users won't find a arnold support post from Nov 2018 nor use Kick to find this extra information.
Even then it's not intuitive to use the "visibility decimal values" and in most cases "custom set parameter" needs to be built in order to control these parameters efficiently with artists.
(So they just see check boxes & aren't required to type in selection and assignment expressions)
Would be ideal if the Set Parameter had some pre-setup common parameters.
AKA:
https://docs.arnoldrenderer.com/display/A5AFHUG/Operators
https://docs.arnoldrenderer.com/display/A5NodeRef/shapes
https://docs.arnoldrenderer.com/api/arnold-6.2.1.1/group__ai__ray.html
PS. Could be worth placing these links in the DCC docs. I rate most users would mainly read the DCC specific documentation.