Frosted glass effect in VR

Has anyone managed to achieve the frosted glass effect in VR mode (Fully Immersive)? I tried to use Kawase blur (GitHub - tomc128/urp-kawase-blur: URP renderer feature enabling a blur effect.) and it works in editor, but not on the device.

Same. I tried also using a different type of blur, and while it worked, it shot down the FPS tremendously

You can refer to this topic:[Release Blocker] [IN-68795] Foviation breaks soft particles, and other depth/stencil effects with visual artifacts on device - #11 by Dragon_Baby

hmmm, I’m not sure how can I use information from that topic.

My settings:

Check my answer, you need to modify your shader and renderer feature.

By the way, cmd.Blit may not work in XR, use cmd.DrawMesh(fullscreenmesh) or Blitter.BlitCameraTexture.

I tried to modify KawaseBlur (urp-kawase-blur/Assets/KawaseBlur/KawaseBlur.cs at master · tomc128/urp-kawase-blur · GitHub) but blur is still not visible on device. Could you please check if this is what you suggest?

Try to translate the KawaseBlur.shader to URP style, don’t forget to add Single-pass Instanced macros, and do not use cmd.Blit.
The project in this repo seems to be using a lower version urp, try to update your code to urp 14.0.

You can refer to the code in this topic:Custom render target shows different result between left eye and right eye

Shaders are a difficult topic for me tbh. But I will try to use your tips. Thank you @Dragon_Baby.

P.S. I understand that this is still a workaround for the problem and it should just work on Vision Pro if it works in Unity Editor?
I think that most of the apps/games for Vision Pro will try to use frosted glass effect on some elements (on UI also) to provide similar visual experience like in the whole Vision OS. I hope someone from the Unity crew will have some time to look into it.

It seems to be a bug with foveated rendering in AVP, so just temporarily disable it before blitting.However, if you check Unity’s native render pass code in URP package, you could see they disable the foveated rendering depending on whether XR is being used.I’m not sure it’s for improving performance or something else, but it may be an official standard and will work in all platform.

1 Like