Forum Discussion
cloud_canvas
7 years agoExpert Protege
"Most prominent instance based on user's view" limitation of OVROverlay?
From the OVROverlay documentation:
Compositing Limitations
Applications may add up to fifteen compositor layers (
Note that if a compositor layer fails to render (e.g., you attempt to render more than the maximum number of compositor layers), only quads will fall back and be rendered as scene geometry, and cubemaps and cylinders will not display at all.
If you need to support more than 15 high quality objects, you can use other strategies such as combining planar UIs into a single
Applications may add up to fifteen compositor layers (
OVROverlays) to a scene. You may use no more than one cylinder and one cubemap compositor layer per scene.Note that if a compositor layer fails to render (e.g., you attempt to render more than the maximum number of compositor layers), only quads will fall back and be rendered as scene geometry, and cubemaps and cylinders will not display at all.
If you need to support more than 15 high quality objects, you can use other strategies such as combining planar UIs into a single
RenderTexture and using only one instance of OVROverlay. You can also enable only the most prominent of the active OVROverlay instances based on the user's view. Also, similar results can be achieved with scene geometry such as Unity’s Skybox component or Cylinder MeshFilter.What does the section that I've bolded mean in discrete terms? I'm trying to figure out if it's at the root of an issue I'm having. Most of my UI is being rendered (with cylindrical warping) as one render texture getting Blitted onto an OVROverlay, but I was experimenting with duplicating this setup and putting it on another overlay that's a quad and closer to the user's face for UI modals.
This does not violate the rule that you can't have more than one cylindrical overlay in a scene, nor does it put me close to violating the hard limit of 15 OVROverlay instances at once (I've got four, one for the cylinder UI as a Render Texture Overlay, this new Modal one as a Render Texture quad Underlay, the reticle as a world space quad overlay, and the skybox as an Equirect underlay). So that leaves this nebulous bit about "the most prominent of the active OVROverlay instances."
I tried toggling the Cameras and the Overlay components on device in real time using HdgRemoteDebug (which allows me to mess with GameObjects at runtime on-device using ADB and an Editor Window), and, now at least understanding a little bit more about how "the order in which you enable Overlay components matters" (which is also very poorly explained in the documentation), I was not able to see the modal and the rest of the UI at the same time. It had to be that one Camera and Render Texture was completely turned off while the other one wasn't, or vise versa.
Any thoughts?
Replies have been turned off for this discussion
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device