Hide geo in viewport, but visible in render
3971 7 1- kskovbo
- Member
- 47 posts
- Joined: Feb. 2020
- Offline
Hello,
I have a very geometry dense scene (millions of instances). I want to hide certain instance and show others in the viewport, however when I render I want to see everything.
I have tried both "Activision"(yellow toggle button) and "Visibility" (blue eye button) in the scenegraph. However both of them results in the de-activated/hidden geometry not rendering.
What is the correct workflow to hide geometry in the viewport, but show when rendering? Am I missing something obvious?
Thanks
I have a very geometry dense scene (millions of instances). I want to hide certain instance and show others in the viewport, however when I render I want to see everything.
I have tried both "Activision"(yellow toggle button) and "Visibility" (blue eye button) in the scenegraph. However both of them results in the de-activated/hidden geometry not rendering.
What is the correct workflow to hide geometry in the viewport, but show when rendering? Am I missing something obvious?
Thanks
- Hamilton Meathouse
- Member
- 199 posts
- Joined: Nov. 2013
- Offline
- kskovbo
- Member
- 47 posts
- Joined: Feb. 2020
- Offline
Hello,
Yep I do already have prims set to use proxy/render purposes. I got a proxy version for every asset that I have scattered and currently only displaying proxy geometry in my viewport. What I want to be able to do is hide some of these instance prims from the viewport, but have them render at render time.
I guess what I am after is something akin to Katana where if the hierachy is not expanded it wont load into viewport memory, but only load at rendertime.
Thanks
Yep I do already have prims set to use proxy/render purposes. I got a proxy version for every asset that I have scattered and currently only displaying proxy geometry in my viewport. What I want to be able to do is hide some of these instance prims from the viewport, but have them render at render time.
I guess what I am after is something akin to Katana where if the hierachy is not expanded it wont load into viewport memory, but only load at rendertime.
Thanks
- jsmack
- Member
- 8041 posts
- Joined: Sept. 2011
- Online
kskovbo
Hello,
Yep I do already have prims set to use proxy/render purposes. I got a proxy version for every asset that I have scattered and currently only displaying proxy geometry in my viewport. What I want to be able to do is hide some of these instance prims from the viewport, but have them render at render time.
I guess what I am after is something akin to Katana where if the hierachy is not expanded it wont load into viewport memory, but only load at rendertime.
Thanks
Render purpose should do that. I think there is a bug though where changing the purpose of something that's already been displayed doesn't flush it from display. The purpose needs to be set before ever having displayed it.
- Siavash Tehrani
- Member
- 729 posts
- Joined: July 2005
- Offline
Nice looking scene! If you disallow Viewport Overrides, you can then hide your instancer with Activation or Visibility but still have Karma render it in the viewport. You can also override the Draw Mode of your instances in the Scene Graph Tree or with a Configure Primitive LOP, so that they will show up as bounding boxes for example.
- BryanRay
- Staff
- 43 posts
- Joined: March 2022
- Offline
This is what USD's Payloads system is designed to do. Assuming your assets are configured as payloads, you can use the circled button to load the scene with payloads unloaded. If they've been authored with extentsHints, then they'll show up in the GL viewer as bounding boxes. You can then use the L column in the Scene Graph Tree to determine which prims are loaded in the viewport (regardless of delegate), but all payloads will be rendered by a ROP, regardless of the SGT settings.
In the screenshot, I have only loaded payloads for the cyc, table, and books, but as you can see, sending the render to MPlay shows the entire scene.
You can also use the Load Payloads switch in a Sublayer LOP to prevent payloads in that file from loading regardless of the SGT setting. The L column still functions to load the geometry on demand. And again, unloading the payload in the Sublayer LOP has no effect on the render.
In the screenshot, I have only loaded payloads for the cyc, table, and books, but as you can see, sending the render to MPlay shows the entire scene.
You can also use the Load Payloads switch in a Sublayer LOP to prevent payloads in that file from loading regardless of the SGT setting. The L column still functions to load the geometry on demand. And again, unloading the payload in the Sublayer LOP has no effect on the render.
- tallen
- Member
- 16 posts
- Joined: July 2005
- Offline
What if your setup is not configured for payloads. Using the lops configure primitive nodes, yes, it hides the instances, but still cooks the data. If you have a million instances, that's a loooong time to cook the viewport each time you'd like to move your mouse. (for me it's ten seconds each frame - not a fan of this)
Is there any other way to do this? (other then disconnecting and reconnecting when the proper time comes)
Would be great to not have the instances cook each frame.
Is there any other way to do this? (other then disconnecting and reconnecting when the proper time comes)
Would be great to not have the instances cook each frame.
- antc
- Member
- 335 posts
- Joined: Nov. 2013
- Offline
tallen
What if your setup is not configured for payloads
Drawing unloaded payloads as bounding boxes is a nice convenience feature, but take a look at the "draw mode" functionality which is more flexible. Unlike payloads "draw mode" is not tied to load state, and in addition to bounding box has the capability to render an asset as textured cards which can be more useful for things like layout etc.
-
- Quick Links