HtoA - Procs frequently disappear in render view

HtoA - Procs frequently disappear in render view

Andrew_Wilkins1
Not applicable
4,259 Views
31 Replies
Message 1 of 32

HtoA - Procs frequently disappear in render view

Andrew_Wilkins1
Not applicable

Hi,

While doing some render testing (with Arnold Proc rock assets and Operators) in HtoA — I've noticed that the "Arnold Procedural" are frequently disappearing (likely unloading from the cache) in the Render View which a "Render - Regenerate shadow maps and render" doesn't solve.


The only thing that fixes it is re-opening the Render View, which is highly frustrating to do this constantly.

Is this a known issue?



All the best,

Andrew


Houdini: 18.5.596
HtoA: 5.6.3.0
Arnold:
6.2.1.1

0 Likes
4,260 Views
31 Replies
Replies (31)
Message 21 of 32

Stephen.Blair
Community Manager
Community Manager
You don't want the final * because that matches the shapes from the ass file, and that doesn't work with auto-instancing (you end up instancing a hidden shape).


If you do a test with *.(@node=='procedural'), then a debug-verbosity Arnold log will show you the Arnold node names.



// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 22 of 32

Stephen.Blair
Community Manager
Community Manager

For example:

htoa-debug-level-arnold-log.png



// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 23 of 32

am_wilkins
Collaborator
Collaborator

Thanks, yeah I tried all combinations!

*Set_Rock_A_Proc_11*/*procedural*
*Set_Rock_A_Proc_11*/*procedural
*Set_Rock_A_Proc_11*/procedural
*Set_Rock_A_Proc_11/procedural

etc.

but without the option without final * also isn't working for me.

Out of interest, is this working on your end?
Or do you perhaps know of a more efficient way of handling this kinda of situation?

A bit surprised other people haven't run into this one—I guess duplicating procedurals around the scene isn't that common...

0 Likes
Message 24 of 32

am_wilkins
Collaborator
Collaborator
Thanks, will try check this out. My console is just spitting out garbage atm—might need to re-install.
0 Likes
Message 25 of 32

Stephen.Blair
Community Manager
Community Manager
Yes, it is working for me.


// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 26 of 32

Stephen.Blair
Community Manager
Community Manager

I have

#set = *.(@node=='procedural') and *Set_*

#fg_rock = /obj/Set_Rock_A_Proc_[01]6/procedural

and the selection for the set_parameter is

#set and not #fg_rock


The main thing is to make sure that the selection doesn't include the shapes from the ass files




// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 27 of 32

am_wilkins
Collaborator
Collaborator

Hi again,

Here's an example scene:

fg_pass_example_scene.zip
(probably similar to what you were testing with)

Houdini FX Version 18.5.596 - Python 3
HtoA 5.6.3.0
Arnold 6.2.1.1


One of the included options, as we've discussed is:

*.(@node=='procedural') and *Set_*
#set
*Set_RockA_11/procedural
#fg_rock

The result is that: "Set_Ground" geometry as part of the #set collection renders visible to camera when it shouldn't... but the rest works.

We'd have to find a way to also "phantom" the ground geo.


I'll keep testing with this scene.
My goal is to have a stable setup for render pass "overrides" / pruning etc. (that works every time without pain) and that's also manageable for artists.


EDIT:

It seems that if I make a new collection for the ground (geometry) after the fact and "phantom" that again, that it's giving me what I'm after. Although feels like a "work-around".

*Set_Ground*
#ground

node-graph.jpg

fg-rock-01.jpg


Anyway to grab all the geometry?
I tried:

*.(@node=='polymesh')
*.(@node=='geometry')
*.(@type=='shape')
*Set_*
#ground

None of these work though...

0 Likes
Message 28 of 32

Stephen.Blair
Community Manager
Community Manager
*Set_*/procedural or *Set_*/polygons

or

r'.*Set_.*/(procedural|polygons)'




// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 29 of 32

am_wilkins
Collaborator
Collaborator

Hi,

Thanks very much, still tinkering...

While using:

*Set_*/polygons

Is working in the example scene for the FG pass—so that's a good thing, but it's giving me crap in my actual prototype scene even though the setup is matching 1:1 but I'm trying to figure that out.


Unfortunately using:

*.(@node=='procedural') and *Set_*

As the main #set collection, doesn't work for other render passes to do simple things like "matte the whole set" that requires a new #set collection

*Set_*/procedural or *Set_*/polygons
 
or simply back to... 

*Set_*

fg_pass_example_scene.zip

0 Likes
Message 30 of 32

Stephen.Blair
Community Manager
Community Manager

It's all due to the complication of hiding auto-instancing procedurals but not hiding the shapes that those procedurals add to the scene.

*Set_RockA_07* or *Set_RockA_05* or *Set_RockA_06* or *Set_RockA_08* or *Set_RockA_09* or *Set_RockA_04*
*Set_RockA_0[756894]*
*Set_RockA_07* or *Set_RockA_05* or *Set_RockA_06* or *Set_RockA_08* or *Set_RockA_09* or *Set_RockA_04* or *Set_RockA_03* or *Set_RockA_02*

selections like this may or may not work, depending on which procedural goes into in the procedural cache





// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 31 of 32

Stephen.Blair
Community Manager
Community Manager
*.(@node=='procedural') and #set and not #fg_rock


This won't hide the ground, because the ground is not a procedural node




// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 32 of 32

am_wilkins
Collaborator
Collaborator

Yeah, this became way more complex than I was anticipating.
While originally I wanted to build a complete "portable & visual node-based" way of working with the ROP—I've now partially reverted some of the workflow to the native Houdini "bundles" which work a little more as I'm expecting and likely artists can work with it better.
Still planning to use collections / set parameter however.

0 Likes