Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Compatible with Oculus Quest?
#1
Are there any instructions or tips for setting up Obi Fluid so that it will show in Oculus Quest? We have been able to successfully verify that Obi Cloth and Obi Softbody work in Quest, but we have not been able to verify that Obi Fluid is visible in headset. We have downloaded and installed the Burst package and jobs system. I have put the Obi Fluid Renderer script on all cameras rendering VR. I see a tip in Frequently asked Questions that says that we need a "different camera for each eye", but I'm not sure how that's different from the two cameras that are set up in the OVR (Oculus) camera rig prefab. 

Are there any tips or instructions for getting this to work on Quest 1 or Quest 2? Any success stories? We have also set the Project Settings->Oculus -> Stereo Rendering Mode to Multipass. We certainly look forward to using this package. Thank you in advance for any help and advice.

Best, 
-James
Reply
#2
(08-01-2021, 10:10 PM)taylorjames9 Wrote: Are there any instructions or tips for setting up Obi Fluid so that it will show in Oculus Quest? We have been able to successfully verify that Obi Cloth and Obi Softbody work in Quest, but we have not been able to verify that Obi Fluid is visible in headset. We have downloaded and installed the Burst package and jobs system. I have put the Obi Fluid Renderer script on all cameras rendering VR. I see a tip in Frequently asked Questions that says that we need a "different camera for each eye", but I'm not sure how that's different from the two cameras that are set up in the OVR (Oculus) camera rig prefab. 

Are there any tips or instructions for getting this to work on Quest 1 or Quest 2? Any success stories? We have also set the Project Settings->Oculus -> Stereo Rendering Mode to Multipass. We certainly look forward to using this package. Thank you in advance for any help and advice.

Best, 
-James

Hi James,

There's two main ways to render a stereo view: using single-pass stereo, and using separate cameras/passes for each eye. Only multipass is supported, but it should work pretty much out of the box using any VR headset.

https://www.youtube.com/watch?v=W6YLB0LIQqc
https://www.youtube.com/watch?v=lQjNVYhN1js

- Do you get any errors/warnings in the console?
- What are your fluid renderer settings?
- Is the Burst backend correctly running? (check that "Burst" is the selected backend for your solver, and that no warnings appear in the inspector).
Reply
#3
Hi Jose, 

Thanks for getting back to us. We've tried each one of your suggestions. I think the missing piece from my last post is that we're working in URP - which seems to be the source of our issues. Have you managed, or know anyone who has managed, to successfully get the Obi fluids working in combination with URP?

Thank you for your time. 

Best Regards,
-James Taylor
Reply
#4
(22-01-2021, 05:40 AM)taylorjames9 Wrote: Hi Jose, 

Thanks for getting back to us. We've tried each one of your suggestions. I think the missing piece from my last post is that we're working in URP - which seems to be the source of our issues. Have you managed, or know anyone who has managed, to successfully get the Obi fluids working in combination with URP?

Thank you for your time. 

Best Regards,
-James Taylor

Hi James,

The fluid renderer does work in URP, but is set up differently. The reason is that render passes in URP work in a different way and Unity's render callbacks (OnWillRenderObject, OnPreRender, etc) aren't called in SRPs.

The setup for URP is explained in the manual, first paragraph on ObiFluidRenderer:
http://obi.virtualmethodstudio.com/tutor...ering.html

Quote:Setting up fluid rendering is done in a slightly different way depending on which scriptable render pipeline you're using:

Built-in
Add a ObiFluidRenderer component to each camera you need to be able to render fluid.
Universal (URP)
Add a ObiFluidRendererFeature to your pipeline's renderer feature list.

The minimum URP version supported by the fluid renderer as of Obi 5.5 is URP 7.4.1.

As well as this video:
Reply
#5
(22-01-2021, 09:12 AM)josemendez Wrote: Hi James,

The fluid renderer does work in URP, but is set up differently. The reason is that render passes in URP work in a different way and Unity's render callbacks (OnWillRenderObject, OnPreRender, etc) aren't called in SRPs.

The setup for URP is explained in the manual, first paragraph on ObiFluidRenderer:
http://obi.virtualmethodstudio.com/tutor...ering.html


As well as this video:

Hi there,

I've been working with James on this problem, and we've followed your instructions. We have Obi Fluid rendering in Quest with URP, but there seems to be an issue with the fluid shader. The fluid reflection is slightly different in each eye and it leads to a nauseating dissonance.

Specifically, the whitish glare of the reflection has two different horizontal offsets. If I close my right eye and only open my left eye, the glare is more to the left; if I close my left eye and open my right, the glare is more to the right.

This problem doesn't occur when using the Standard Render Pipeline. It only appears with URP.

I've tried implementing two cameras, one for each eye, but I only see a black screen. [I believe that camera stacking is currently broken for Quest in URP Multipass. This is also a sub-optimal solution from a performance standpoint.]

Is this an issue with Obi, or would it be a URP issue specific to VR?

Let me know if you need any additional information. Thank you for your time and help!
Reply
#6
Hi Jose, Sorry to keep pinging you about this. We're trying everything to get Obi working in the URP project. We've fixed the reflection issue, but the fluid still isn't rendering in the right eye as expected. Some of the fluid disappears  from the right eye when moving the headset. Here's a photo and a video:

[color=rgba(var(--sk_highlight,18,100,163),1)]https://drive.google.com/drive/u/1/folders/1PfkQST06w4FvDE43AHBDw_PTB2Ydi-T2

[/color]Any thoughts?
Reply
#7
(29-01-2021, 01:36 AM)taylorjames9 Wrote: Hi Jose, Sorry to keep pinging you about this. We're trying everything to get Obi working in the URP project. We've fixed the reflection issue, but the fluid still isn't rendering in the right eye as expected. Some of the fluid disappears  from the right eye when moving the headset. Here's a photo and a video:

[color=rgba(var(--sk_highlight,18,100,163),1)]https://drive.google.com/drive/u/1/folders/1PfkQST06w4FvDE43AHBDw_PTB2Ydi-T2

[/color]Any thoughts?

Hi there!

I'm unable to reproduce this Triste.
In your video it looks as if particles in the right eye are intersecting with the floor when you move the headset up (so their screen-space coverage is smaller, and the renderer partially clips them). It almost looks like there is a 1-frame delay between the particle positions and the camera position, but not really sure about this.

If you disable the fluid renderer, and only use the ObiParticleRenderer component (to visualize the particles used as input for the fluid renderer), do you get a similar effect?
Reply
#8
(29-01-2021, 01:27 PM)josemendez Wrote: Hi there!

I'm unable to reproduce this Triste.
In your video it looks as if particles in the right eye are intersecting with the floor when you move the headset up (so their screen-space coverage is smaller, and the renderer partially clips them). It almost looks like there is a 1-frame delay between the particle positions and the camera position, but not really sure about this.

If you disable the fluid renderer, and only use the ObiParticleRenderer component (to visualize the particles used as input for the fluid renderer), do you get a similar effect?


Hi Jose,

Thanks for the response. I’ve created a .zip of a demo project where we’re experiencing the issue on our end. It’s in the Google Drive folder: https://drive.google.com/drive/u/1/folders/1PfkQST06w4FvDE43AHBDw_PTB2Ydi-T2


The steps we took to replicate:
  • Created new Unity project (2019.4.16f) from URP template and switched to Android
  • Update URP to 7.5.3
  • Installed XR Management Plugin, Oculus Plugin, Oculus Integration Package
  • Enabled Oculus XR on PC Standalone for editor testing
  • Installed Obi Fluid package
  • Set up Fluid Rendering in URP (in FluidViscosity scene) as shown here: https://www.youtube.com/watch?v=k5Uv5ecj...tualMethod
  • Replaced Main Camera with OVRPlayerController
  • Turned on Depth Texture and Opaque Texture in High Quality URP Asset
  • Press Play in Quest 1 OR Quest 2

The first thing we notice in the FluidViscosity scene is that the fluid reflection is different in each eye. If you close your left eye, the “white” on the edge of the fluid will be in a different location than if you close your right eye.


So we added an extra step: We created a new ForwardRenderer called “ObiLightingRenderer.” If you change the URP-HighQuality renderer from the default ForwardRenderer to ObiLightingRenderer, the reflection issue goes away (albeit at the expense of some lighting effects). Now you should be able to replicate our problem by moving your headset up and down. Please let us know if it’s noticeable on your end as well.


The Obi Particle Renderer renders with no issues. We’ve tried using it for the time being, but the dark shading with the one-directional light input doesn’t fit the needs of our project. We’d much rather have the fluid shader.


Thank you again for being patient with us! Hopefully we can get it fixed soon.
Reply
#9
(03-02-2021, 12:25 AM)taylorjames9 Wrote: Hi Jose,

Thanks for the response. I’ve created a .zip of a demo project where we’re experiencing the issue on our end. It’s in the Google Drive folder: https://drive.google.com/drive/u/1/folders/1PfkQST06w4FvDE43AHBDw_PTB2Ydi-T2


The steps we took to replicate:
  • Created new Unity project (2019.4.16f) from URP template and switched to Android
  • Update URP to 7.5.3
  • Installed XR Management Plugin, Oculus Plugin, Oculus Integration Package
  • Enabled Oculus XR on PC Standalone for editor testing
  • Installed Obi Fluid package
  • Set up Fluid Rendering in URP (in FluidViscosity scene) as shown here: https://www.youtube.com/watch?v=k5Uv5ecj...tualMethod
  • Replaced Main Camera with OVRPlayerController
  • Turned on Depth Texture and Opaque Texture in High Quality URP Asset
  • Press Play in Quest 1 OR Quest 2

The first thing we notice in the FluidViscosity scene is that the fluid reflection is different in each eye. If you close your left eye, the “white” on the edge of the fluid will be in a different location than if you close your right eye.


So we added an extra step: We created a new ForwardRenderer called “ObiLightingRenderer.” If you change the URP-HighQuality renderer from the default ForwardRenderer to ObiLightingRenderer, the reflection issue goes away (albeit at the expense of some lighting effects). Now you should be able to replicate our problem by moving your headset up and down. Please let us know if it’s noticeable on your end as well.


The Obi Particle Renderer renders with no issues. We’ve tried using it for the time being, but the dark shading with the one-directional light input doesn’t fit the needs of our project. We’d much rather have the fluid shader.


Thank you again for being patient with us! Hopefully we can get it fixed soon.
Thanks for the unity build. It helps to see what to do.

I see you aren't using any Fluid renderer. Or did I miss it?
I thought you had to for showing the fluid.

How do you change the opacity of the fluid?

It's a very weird glitch in the right eye. Part of the fluid on the sides disappear if you move your head.
Also, the sphere seems to move under fluid when you move your head.
That might be making the fluid sides disappear.
 
Cheers
Rodney
Reply
#10
(04-02-2021, 03:06 PM)VastnessVR Wrote: Thanks for the unity build. It helps to see what to do.

I see you aren't using any Fluid renderer. Or did I miss it?
I thought you had to for showing the fluid.

How do you change the opacity of the fluid?

It's a very weird glitch in the right eye. Part of the fluid on the sides disappear if you move your head.
Also, the sphere seems to move under fluid when you move your head.
That might be making the fluid sides disappear.
 
Cheers
Rodney

Hi there,

Check the manual: for URP, you don't use a component, but a renderer feature:
http://obi.virtualmethodstudio.com/tutor...ering.html

That should also answer your question about fluid opacity. cheers!
Reply