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.11834Views2likes5CommentsRemoving 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.833Views0likes0CommentsOVROverlay 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!879Views0likes0CommentsOVROverlay 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.4KViews1like2CommentsOVROverlay Cubemap Fade
I am currently using the OVROverlay system when the player is loading certain data to avoid headtracking issues. Right now, I have two overlays in the scene: 1. A cubemap with a custom texture 2. And a quad to display loading progress. Overall, the system works, but I would like to be able to fade in the overlays rather than just turn them on and off. After a tweak to the Texture2D Blit.shader file (just manually adjusting the alpha value of the final color), I was able to get the quad fading in and out, but making the same change to the Cubemap Blit.shader file doesn't seem to actually do anything. So, I was wondering if this functionality is actually possible?1.1KViews0likes2CommentsOVROverlay + laser beam pointer issue
Hi, I'm developing a simple app for OculusGO with Unity3d (2018.2) where the user can choose a 360 video from a library and play it. I used the CurvedUI plugin and TextMeshPro for the text to reproduce the library feeling of OculusGO but after a lot of work I wasn't able to achieve the desired result because the texts and images resulted al jittery. I'm trying now with the OVROverlay and I can get a really nice result but I can't get the laser beam to work correctly. In the semple project of the SDK the laser beam interacts only with a Canvas that is rendered without overlay. What do I have to do in order to make the laser beam work with the OVROverlay? For the record, I'm using the UIHelpers prefab laser beam. Cody3.3KViews0likes4CommentsVROverlay placement problem with Quest.
We're developing a game in Unity for the Quest. We're trying to use the OVROverlay sample as a basis for loading screens and the like and we're having a problem with visual placement. We can send things to the overlay, but in when in the headset, the overlay always appears in the upper right quadrant of the screen. Attempts and moving the overlay around has only resulted in the image in the upper right corner moving around within the upper right quadrant. Sooo..... 1) Anyone have this problem before? 2) I _thought_ our positioning code is correct, but maybe we are misunderstanding something. What is the correct way to set the position?762Views0likes0Comments