Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Fluid Render Material Modification
#1
Exclamación 
Hello,

I recently purchased all Obi solutions, and out of the Box, only few example Scenes were working as shown in the video.
But anyway, after reading some documentation I was able to enable particle rendering. However, right now I was hoping to see and use fluids with the same textures seen in the videos (semitransparent glossy fluids).
I already red the Documentation regarding Obi Fluid Renderer.
But so far only particles show up.
I already tried modifying the Color Material and Fluid Material in the Obi Fluid Renderer, but so far it's doing nothing.
Am I missing something here?
Before I leave a review, I trust you could help me out achieving what I bought your product for, please?

Thank you,
X-lab
Reply
#2
(11-10-2017, 03:16 PM)x-lab Wrote: Hello,

I recently purchased all Obi solutions, and out of the Box, only few example Scenes were working as shown in the video.
But anyway, after reading some documentation I was able to enable particle rendering. However, right now I was hoping to see and use fluids with the same textures seen in the videos (semitransparent glossy fluids).
I already red the Documentation regarding Obi Fluid Renderer.
But so far only particles show up.
I already tried modifying the Color Material and Fluid Material in the Obi Fluid Renderer, but so far it's doing nothing.
Am I missing something here?
Before I leave a review, I trust you could help me out achieving what I bought your product for, please?

Thank you,
X-lab

Hi there,

What sample scenes are you having issues with, and what platform are you running on? Also, what shader model does your graphics card support? (a minimum of SM3.0 is needed for the fluid renderer to work properly)

Regarding the setup, make sure that:

- You increase the "radius scale" property of your ObiParticleRenderer to a value that allows your fluid renderer to render the surface (try 1.7 - 2.0). If you leave this value at 1 (the default) chances are the material cutoff radius cuts off almost the entirety of the surface.

- Disable the "render" checkbox in the ObiParticleRenderer. if you don't, particles will be drawn on top of the fluid surface (which is sometimes desirable for visualization/debugging purposes).

cheers!
Reply
#3
(11-10-2017, 04:17 PM)josemendez Wrote: Hi there,

What sample scenes are you having issues with, and what platform are you running on? Also, what shader model does your graphics card support? (a minimum of SM3.0 is needed for the fluid renderer to work properly)

Regarding the setup, make sure that:

- You increase the "radius scale" property of your ObiParticleRenderer to a value that allows your fluid renderer to render the surface (try 1.7 - 2.0). If you leave this value at 1 (the default) chances are the material cutoff radius cuts off almost the entirety of the surface.

- Disable the "render" checkbox in the ObiParticleRenderer. if you don't, particles will be drawn on top of the fluid surface (which is sometimes desirable for visualization/debugging purposes).

cheers!

Hi Jose, all liquid sample scenes weren't doing anything out of the box.. but enabling "render" checkbox in the ObiParticleRenderer, allowed me to see the particles of the liquids.
I'm using Unity 2017.1 in Windows, and right now I'm testing in Nvidia 760 graphic card; I will test later today in a 1080 card and tell you if it was fixed.

I also tried all your other suggestions.. radius scale didnt affect the fluid renderer, and disabling "render" checkbox in the ObiParticleRenderer, only makes everything invisible.

On the other hand, in my application I'm trying to fill a cup (picture attached) in some VR app. I reduced radio of particle to 0.08, but it looks like the particles behave as the particle actual size is 1 regardless of the renderer (render=graphic part only, got it).. In the second picture there is my same cup example with radius 1.72 (as suggested by you), and.. well, it looks bad Gran sonrisa I hope i don't have to re scale my entire app to match the particle behaviour. But I'm sure you solution can handle what i intend to do, Please get me out of my ignorance. Thanks, Nestor
Reply
#4
(12-10-2017, 11:56 AM)x-lab Wrote: Hi Jose, all liquid sample scenes weren't doing anything out of the box.. but enabling "render" checkbox in the ObiParticleRenderer, allowed me to see the particles of the liquids.
I'm using Unity 2017.1 in Windows, and right now I'm testing in Nvidia 760 graphic card; I will test later today in a 1080 card and tell you if it was fixed.

I also tried all your other suggestions.. radius scale didnt affect the fluid renderer, and disabling "render" checkbox in the ObiParticleRenderer, only makes everything invisible.

On the other hand, in my application I'm trying to fill a cup (picture attached) in some VR app. I reduced radio of particle to 0.08, but it looks like the particles behave as the particle actual size is 1 regardless of the renderer (render=graphic part only, got it).. In the second picture there is my same cup example with radius 1.72 (as suggested by you), and.. well, it looks bad Gran sonrisa I hope i don't have to re scale my entire app to match the particle behaviour. But I'm sure you solution can handle what i intend to do, Please get me out of my ignorance. Thanks, Nestor

Hi there,

Some considerations:
- Fluid surface will only be rendered trough in-game cameras, since rendering works as a screen-space post process. It will not be visible in the scene view.

- If your fluid is not visible trough in-game cameras unless you enable the ObiParticleRenderer "render" checkbox, it means the ObiFluidRenderer is not working properly. This can be due to shader compatibility issues, which we shall investigate further once you confirm whether it works for you in a different GPU.

- To change the actual simulation resolution (the physical size of the particles), change the fluid material "resolution". Higher resolutions will yield smaller particles. If you've ever used any other fluid simulator (RealFlow,Bifrost,etc) this parameter works exactly as it does in them. See:
http://obi.virtualmethodstudio.com/tutor...rials.html
https://www.youtube.com/watch?v=xBU200yVu_c

Setting the ObiParticleRenderer's "radius scale" to 1.7 - 2 is only used when you don´t render the particles but the actual surface, since you need particles to overlap a bit to avoid gaps in the surface.
Reply
#5
Hi Jose,


I just tested with GTX 1080 (same Unity version and windows 10), it's the same behavior as in the other machine.
I always checked if the fluid render was active in the Game scene (through my HTC). It's never there.

On the other hand, the Resolution for fluid worked perfect, thank you.. But I still cant see my fluids.. just particles :/
Reply
#6
(12-10-2017, 04:27 PM)x-lab Wrote: Hi Jose,


I just tested with GTX 1080 (same Unity version and windows 10), it's the same behavior as in the other machine.
I always checked if the fluid render was active in the Game scene (through my HTC). It's never there.

On the other hand, the Resolution for fluid worked perfect, thank you.. But I still cant see my fluids.. just particles :/

Hi Nestor,

Just checked on a win 10 machine and the fluids renders just fine. Are there any errors popping up in the console? The fact that the ObiFluidRenderer is inactive means that the platform you're running on does not like some of the fluid rendering shaders (or cannot find them). Look in the console log for a warning that reads "Obi Fluid Renderer not supported in this platform."

Also, try selecting Obi/Resources/ObiMaterials/DielectricFluidShader, FluidThickness, NormalReconstruction and ScreenSpaceCurvatureFlow in the project window, and see if any shader compilation errors appear in the inspector for any of them. Based on the behavior you described, this is quite probable.

Note: also, I noticed you mentioned you're making a VR app. Obi needs you to set up separate cameras for each eye since single-pass stereo rendering is not supported. See the F.A.Q:
http://obi.virtualmethodstudio.com/tutorials/index.html
Reply
#7
Hi Jose,

Looks like you hit the spot.. Problem is VR related. New project w/o VR works perfect.

In this case, could you guide me through how to set up separate cameras for each eye to overcome single-pass stereo rendering. Please?

Thank you,
Nestor
Reply
#8
(12-10-2017, 07:15 PM)x-lab Wrote: Hi Jose,

Looks like you hit the spot.. Problem is VR related. New project w/o VR works perfect.

In this case, could you guide me through how to set up separate cameras for each eye to overcome single-pass stereo rendering. Please?

Thank you,
Nestor

Hi Nestor!

My guess is that since you said the renderer deactivates itself when using VR, even if you set up two cameras, one per eye (which by the way is done using the stereoTargetEye Unity property: https://docs.unity3d.com/ScriptReference...etEye.html) chances are the renderer would still complain about something that your platform does not support.

Could you determine if the "Obi Fluid Renderer not supported in this platform." message pops up in the console?
Reply
#9
(13-10-2017, 01:06 PM)josemendez Wrote: Hi Nestor!

My guess is that since you said the renderer deactivates itself when using VR, even if you set up two cameras, one per eye (which by the way is done using the stereoTargetEye Unity property: https://docs.unity3d.com/ScriptReference...etEye.html) chances are the renderer would still complain about something that your platform does not support.

Could you determine if the "Obi Fluid Renderer not supported in this platform." message pops up in the console?

Hi Jose,

This is the only Warning message i get from all the fluid sample scenes.
The message you say doesn't appear,

Thanks
Reply
#10
(13-10-2017, 03:55 PM)x-lab Wrote: Hi Jose,

This is the only Warning message i get from all the fluid sample scenes.
The message you say doesn't appear,

Thanks

That is extremely weird. Can you tell me what the result of executing this is? (put it in the Awake or Start function of a new script):

Code:
if (SystemInfo.SupportsRenderTextureFormat (RenderTextureFormat.Depth))
Debug.Log("Depth textures supported");
else
Debug.Log("Depth textures not supported");

The fluid renderer needs depth textures support to work (as do a lot of effects like volumetric fog, depth of field, etc). Based on that warning that's popping up for you, it would seem your platform does not support them. Which again is, really weird.
Reply