Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to make Obi Fluid work in Oculus Quest 2
#1
Hello, I recently bought your asset, but I can't get it to work in Oculus Quest 2 (not rendering).

I've been reading some posts, but I can't find how to make it step by step.

Would be thankful if someone helps me.
Reply
#2
(27-04-2021, 04:42 PM)alpaib Wrote: Hello, I recently bought your asset, but I can't get it to work in Oculus Quest 2 (not rendering).

I've been reading some posts, but I can't find how to make it step by step.

Would be thankful if someone helps me.

Hi there,

The rendering method used by Obi (screen-space ellipsoid splatting) does not support single-pass stereo rendering, so you have to use one separate camera for each eye as explained in the FAQ:
http://obi.virtualmethodstudio.com/faq.html

Quote:Does it support VR (Virtual Reality)?

Cloth, Rope and Softbodies support VR. For Obi Fluid, you will have to use separate cameras for each eye since the renderer does not support single-pass stereo rendering.

Also, this thread might be useful:
http://obi.virtualmethodstudio.com/forum...ight=quest

let me know if I can be of further help.
Reply
#3
(28-04-2021, 07:48 AM)josemendez Wrote: Hi there,

The rendering method used by Obi (screen-space ellipsoid splatting) does not support single-pass stereo rendering, so you have to use one separate camera for each eye as explained in the FAQ:
http://obi.virtualmethodstudio.com/faq.html


Also, this thread might be useful:
http://obi.virtualmethodstudio.com/forum...ight=quest

let me know if I can be of further help.

Thank you for your answer. I think I got it to work on Quest, but I can't interact with the fluid. Is there a way to do that? I am using the OVR player with controllers, so I added to colliders with a rigidbody (set to kinematics) to those controllers, and there is no effect.
Reply
#4
(28-04-2021, 11:37 AM)alpaib Wrote: Thank you for your answer. I think I got it to work on Quest, but I can't interact with the fluid. Is there a way to do that? I am using the OVR player with controllers, so I added to colliders with a rigidbody (set to kinematics) to those controllers, and there is no effect.

Make sure you've set up the colliders properly: add a ObiCollider component to them, make sure collisions are enabled in the solver, etc.

For more info, see:
http://obi.virtualmethodstudio.com/tutor...sions.html
http://obi.virtualmethodstudio.com/tutor...olver.html

let me know if you have trouble getting it to work.
Reply
#5
Dedo arriba 
(28-04-2021, 11:44 AM)josemendez Wrote: Make sure you've set up the colliders properly: add a ObiCollider component to them, make sure collisions are enabled in the solver, etc.

For more info, see:
http://obi.virtualmethodstudio.com/tutor...sions.html
http://obi.virtualmethodstudio.com/tutor...olver.html

let me know if you have trouble getting it to work.

Thank you very much for those links, I am reading the documentation (I didn't find it before sorry Rodar ojos ). Just one thing, I am having a problem with a shader (ScreenSpaceCurvatureFlow). It says "Shader error in 'Hidden/ScreenSpaceCurvatureFlow': undeclared identifier 'sampler_MainTex' at line 57 (on gles3)". Any idea?
Reply
#6
(28-04-2021, 01:49 PM)alpaib Wrote: Thank you very much for those links, I am reading the documentation (I didn't find it before sorry Rodar ojos ). Just one thing, I am having a problem with a shader (ScreenSpaceCurvatureFlow). It says "Shader error in 'Hidden/ScreenSpaceCurvatureFlow': undeclared identifier 'sampler_MainTex' at line 57 (on gles3)". Any idea?

Hi,

I'm unable to reproduce this.

"sampler_MainTex" is DX11-style sampler syntax (https://docs.unity3d.com/Manual/SL-SamplerStates.html), not available in OpenGLE3 afaik.

However that particular shader does not contain "sampler_MainTex" at all, it uses the traditional syntax "tex2D(_MainTex)" so there should be no problem. Maybe Unity is internally converting it to DX11 syntax? I'll ask on the Unity forums, as this looks like a bug.

Edit: can you try changing the declaration in Assets/Obi/Resources/ObiMaterials/ScreenSpaceCurvatureFlow.shader line 44 from

Code:
sampler2D_float _MainTex;

to

Code:
UNITY_DECLARE_DEPTH_TEXTURE(_MainTex);

?
Reply
#7
(28-04-2021, 02:05 PM)josemendez Wrote: Hi,

I'm unable to reproduce this.

"sampler_MainTex" is DX11-style sampler syntax (https://docs.unity3d.com/Manual/SL-SamplerStates.html), not available in OpenGLE3 afaik.

However that particular shader does not contain "sampler_MainTex" at all, it uses the traditional syntax "tex2D(_MainTex)" so there should be no problem. Maybe Unity is internally converting it to DX11 syntax? I'll ask on the Unity forums, as this looks like a bug.

Edit: can you try changing the declaration in Assets/Obi/Resources/ObiMaterials/ScreenSpaceCurvatureFlow.shader line 44 from

Code:
sampler2D_float _MainTex;

to

Code:
UNITY_DECLARE_DEPTH_TEXTURE(_MainTex);

?

Hi Jose,

I tried to delete the shader and the fluid seemed to be different, so I reimported and the error was fixed (don't know what happended haha). Thank you for everything! If I have any other problem or something that I am not able to understand well, I will write you.
Reply