How can I display hands over OVROverlay?
I am using the OVRCanvasMeshRenderer script to display a curved canvas using OVROverlay. Using this for a spatial web browser, and OVROverlay provides the best visual clarity. Problem is that the canvas now displays over everything. I cannot figure out a way to mask the hands to display over the canvas. I read a few posts that suggested enabling XR Depth Submission, and this makes no difference. Is there an example of how to go about this anywhere? Using Meta SDK V 62 on Unity 2022.3.11848Views2likes5CommentsAdvanced GPU OVR metrics not working
I've been using OVR Metrics HUD with the advanced GPU metrics since it was made available, and for the most part it has worked very well. Lately though it just stopped working and is giving me garbage values, and I've tried factory resetting, downloading older versions of it, enabling different settings in different orders and nothing is working for me! It's something that I really need to be able to work efficiently so if anyone could help out it'd be amazing!2.3KViews1like4CommentsRemoving the "outline" from the edges of geometry rendered by OVROverlay
Hi all, this is something I pinged Carmack on Twitter about directly a few days ago. Linked to the thread for context; there's more illustrative screenshots that I've attached there as well. Trailed off after a few exchanges (can't believe he indulged me as long as he did!), so feedback with other Oculus staff via either @imperativity or @vrdaveb would be really valuable as well. I'm trying to figure out if it's possible to remove the thin "pixel border" that appears around all continuous sections of coplanar UI that are rendered by OVROverlay. It doesn't matter if they are rendered via the "single Overlay instance w/a Camera and a Render Texture"-based approach, or just individual textured Quads with OVROverlay Components on them. Just took a screenshot that I think demonstrates what I'm referring to pretty clearly: Our whole UI was built using Canvas, so the Render Texture approach was mandatory since the UI had already achieved a complexity that was unscalable for a maximum 15 individual OVROverlay instances. As per many other discussions I've lurked like this one and this one, my skybox is an Equirectangular Underlay, my reticle is a World Space Quad Overlay, and the Render Texture/Camera for the whole UI is also an Underlay so that I could draw the motion controller and the ray over it. Basically, as much as I could copy from Oculus Home as possible. Here, you see the left side of a panel that has another Plane with a Texture on it hanging off to the side. I went into GIMP and very sloppily erased the edges of the Texture that's on the Plane by hand with a mouse. This enhances the demonstration that this "outline" is drawn around the border of whatever is continuously rendered as one blob within the Overlay render. If I hadn't crappily erased the edges of the Poster, you'd just see a straight black line going down the leftmost edge. It seems that is drawn wherever there's a punch-transition back to the eye buffer, or something. The white background of the skybox especially emphasizes this. Many times it really enhances Screen Door Effect and makes the edges of all of the UI elements shimmer quite unpleasantly. I've been following the gospel of @vrdaveb 's every last shred of words about how Oculus is interally putting together the UIs for the OS-level stuff like Oculus Home, because the VR Compositor Layers documentation is frankly so lackluster and uninformative. If Oculus Home is put together with Overlays in order not to double resample every developer's beautiful thumbnails for their apps, then how is this outline being avoided? In some respects, it looks like it's simply hidden by encapsulating thumbnails within dark-colored margins, such as the main tiles of the Home area. But what about the Recents tab? What about the Library and the Store, and all the other places where there are high res thumbnails without borders? How are you achieving those radial gradient fades that contain all of the headers? How are you achieving transparent panels? How are you achieving depth effects? Animations shifting the Z-depth of the Transforms of Canvas objects being captured by the Camera/Render Texture isn't showing up at all, only 2D movements. How are you doing tilted planes? Is the main nav bar in front of you not an Overlay? The text and icons look a little more rasterized than the rest of the UI. Sorry, too many questions in one spot. The thing I really wanna know more than anything else is the main thing I'm asking about in this thread, with the outlining effect.2.7KViews0likes6CommentsOVROverlay "Enable Depth Buffer Testing" Bug Report
I’m reporting a bug for the OVROverlay component. The bug causes the display to black/static color flash for what feels like a single frame depending on the state of the overlays in the scene. Happening on Quest 2, Quest Pro, and Quest 3 (worst looking on quest 2 & Pro). Steps to reproduce the bug: There is only 1 OVROverlay in the scene with “Enable Depth Buffer Testing” checked on Instantiate a 2nd OVROverlay into the scene with “Enable Depth Buffer Testing” also checked on. What happens: In the exact moment when the 2nd Overlay is instantiated, the display briefly shows a black/static flash for what feels like a single frame, although sometimes it looks like the visual artifact isn’t taking up the entire display, only a portion of it. This is the exact bug only happens going from 1 to 2 overlays with “Enable Depth Buffer Testing” turned on. Going from 2 to 1 overlays, going from 2-3, or any other combination does not produce this visual artifact. Its only 1 to 2 overlays with Depth buffer turned on. There is something specific about 1 to 2 that is causing this. This has been happening since at least v54 but I can't speak to any time before that. These artifacts do not show up when doing a video capture. I will try to capture a footage with a phone in front of the lens and upload at a later time. EDIT 1: I am specifically using external surface but I believe this happens with normal textures as well.844Views0likes0CommentsOVROverlay always displays on top on Quest 2
I'm trying to use OVROverlay to render some text in a scene clearly. I've got it working, but it has different behavior on Quest 2 vs PCVR. On the former, it's always on top. On the latter, it's in the proper depth but you can make it the other way by turning off Shared Depth Buffer in PC XR settings or checking No Depth Buffer Testing on the OVROverlay script. I'm wondering if there's something the Quest just doesn't support to make it work with the proper depth. There's no similar setting I can find like Shared Depth Buffer for Quest/Android. As far as I could tell, it seems GL_OES_depth_texture extension is what's needed to support that, and when the app runs it seems to report GL_OES_depth_texture as being on. Trying to figure out if there's some way to get it to work like it does on PCVR but coming up with nothing. Maybe Quest really doesn't support it for performance reasons but it's hard to tell.2.7KViews2likes7CommentsOVR Metrics tool showing GPU stats as 0
I have been using the Metrics tool as my #1 tool for in-app profiling and testing, but now the one feature I needed no longer works. I need to the frag/vert/frag%/vert% to guide me when I'm optimizing and all of those all show 0 now. Is this maybe an OS regression issue? I wasn't having this issue a few days ago. I have tried downloading all the older versions to see if it's the OVR metrics tool, all of them behaved the same. I have tried multiple headsets and they behave the same.2.8KViews0likes3CommentsOVROverlay fisheye more 180 degree support...
Dear Oculus team! We are creating a video player with OVROverlay support, unfortunately fisheye videos with a viewing angle of more than 180 degrees (200-220 degrees) are cropped by OVROverlay to 180 degrees. Could you please advise if it is in plans at some point? Could you please add support for fisheye video with a viewing angle of more than 180 degrees. Also, is it planned to support color settings (contrast, brightness, saturation, sharpens, HUE) in OVROverlay in the future. Thank you in advice!881Views0likes0CommentsOVROverlay not rendering in correct order with depth buffer
Hi everyone, I'm trying to take advantage of the improved image clarity that OVROverlay provides compared to standard Unity UI to render interfaces. I have a scene with multiple tablets that the user can grab and interact with, and since these can be moved arbitrarily using grab manipulation mechanics, I need to make sure that they a) intersect correctly with the scenario and b) intersect correctly with each other or at least can have their sorting order changed at runtime depending on which one is in front. I already managed to make it work by using OVROverlayCanvas and having OVROverlays in underlay mode. But I cannot get the rendering to meet all conditions: If I set overlay.noDepthBufferTesting to false, I get correct intersections between the two tablets but they will always render on top of the scenario. There is no depth interaction between the overlays and the 3D. If I set overlay.noDepthBufferTesting to true, which the OVROverlayCanvas component does by default, I get nice intersection between the tablets and the scenario, even correct transparencies. The problem is that the tablets don't render correctly when they overlap because one gets rendered always before the other. Using compositionDepth doesn't fix anything because for some reason, the internal call OVRPlugin.EnqueueSetupLayer() only seems to work the first time the depth is assigned, but not on subsequent calls. I added code that calls OVRPlugin.EnqueueSetupLayer() to be able to change the depth but the render order remains the same. Ultimately this call goes to OVRP_1_28_0.ovrp_EnqueueSetupLayer2(), which returns Result.Success. Is this a bug? As a last resort I tried to destroy and re-create the layer with the new depth value and this seems to work, but it's not something I want to add to production code :) So basically my question is if there is a way to make overlays intersect with the scenario and at the same time intersect correclty with each other. Kind regards, Enrique, VRMADA.2.5KViews0likes1CommentXR Rig camera with OVRManager
I'm a bit confused about the compatibility of the XR Plugin and Oculus Integration download from the Asset Store. I need to use the OVROverlay script found in the Oculus Integration Package. This requires the OVRManager to be running - which is normally attached and initialized with the OVRCameraRig. Is it possible to use the OVROverlay without using the OVRCameraRig, using instead the XR Plugin's camera rig?2.4KViews1like2Comments