A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Introducing the new Universal Render Pipeline and High Definition Render Pipeline subforums!
Unity 2019.3 Beta is out now.
Discussion in 'Assets and Asset Store' started by dogmachris, Jan 8, 2016.
Thank you very much for the effort - I appreciate it!
There are tons more threads - here, on the Unity Issue Tracker, Reddit, GitHub, and other asset support forums. This error has been around forever, but I don't understand why it even exists, since it doesn't seem to impact the game in any way, at least for me. Here's what I wrote about it in another thread:
Here are a few more threads - out of many - that discuss this issue:
I bought the Black Friday deal, Unable to get Aquas to work. I am quite new to Unity, can't find a solution. Today updated to unity 2018.2.18f1 and now Gaia is not available neither is Aquas after importing into the project. I am not sure what to do.
We've been trying to get Oculus work with your Aquas. River in particular. In a multi pass rendering it works fine, but when we set it to single pass then the reflections starts to follow the camera movements.
Even in your demo scene if we add an OVR camera, we just can't make it work.
In a FAQ you wrote that "...All other features should work in single pass stereo. A fix for this is being worked on."
All we need to know is a way how to make reflections work in a single pass rendering. Thanks in advice.
I'm seeing an issue with lighting. I have an outdoor scene with some buildings that also have interiors that can be entered. I have no lighting in the interiors so the inside of the house is darkened while the outside is broad daylight. My AQUAS water is a flooded area where the water is both outside and inside the house. However, the lighting on the water remains consistent with the outdoors lighting and does not change for the interior areas of the house. So it seems that the shadows caused by the house interior are not applied to the water. is there a way to fix this?
I see some earlier posts where you mention that AQUAS does not support shadow casting. I guess I'll have to live with it like this then. That's a bit disappointing.
Actually, this should be possible. I tested both Realistic Water and Weather Maker water from the asset store and they both support shadows on the water surface. So, it should be possible for AQUAS to have this as well.
I just purchased Aqua and the caustics-effects cause huuuuge lag when looking in a certain direction. Get FPS drop from 80-90 to 10. Back to 80-90 once I disable the two caustics-effects.
Are you using Vegetation Studio?
Yes, I am. Found this. Thanks a lot!
Going to try those changes. So weird that it only happen in certain directions.
@dogmachris Can you investigate shadow casting on the water? As I mentioned in a previous post, I've tested both Realistic Water and Weather Maker water assets and both support shadow casting on transparent/reflective water. So, it must be possible.
guys how to make the fog to be over the water, i tried everything but i miss something and i really don't know what
screenshot of the problem
Could you be a bit more precise? Do you get any error messages? Does the water not look as it should? Have you installed the latest version (currently 1.5.4)? Any of that information will be of much help for support.
Is that screen space fog or the fog from the post processing stack? The one from the post processing stack should work by all means.
If you are using a custom weather system, it might not work, because it is using the z-buffer. Some weather assets have an integration for AQUAS, such as Enviro and I think even Unistorm.
This is because those waters are actually opaque by type. Their transparency is achieved by using certain workarounds that in turn cause other issues.
I am working on an alternative solution, but it still is a workaround and I cannot guarantee it will work as you need it.
If I was to make water that is outside and inside a building, I would - for now - make 2 planes, one for the outside, the inside cut out, the other to fit the inside of the building. Duplicate the material of the one that is inside the house and reduce specularity on the one that is inside.
Great asset, but something I was curious about, and can't seem to get working is:
I have 2 locations on screen that will contain water. I want once source to be bluish, and the other source to be brown. It seems when I change the color for 1, it changes the color for the other. How can I keep them separate?
The color is a property of the material being used for the water. So if you change the color on the material then it changes any object that uses that material. You need to duplicate the material so that each water plane has its own version that you can change the colors independently on.
Imported Aquas 1.5.4 into unity 2018.2.17 and getting this error trying to do a build ...
The script, that the errors refer to is only there to determine which camera to use in the demo scene. If you have pp stack v1 imported, it will use one camera, if it's ppv2 it will use the other one, so it only works in the editor. You can safely delete it, it is of no use apart from that.
If you want to make a build of the demo scene, you can instead manually activate the camera corresponding to the version of the the pp stack you are using and delete the other one, but then again - you will never have to do this in any scene built by yourself, because in your own scenes AQUAS will automatically set up the camera according to the pp stack version you are using.
Does this help you?
Yeah that's fine - I already commented out the two lines causing the error - just hadn't investigated whether it was important or not (I don't use under water effects).
Hey there! After spending some time with Aquas, trying to get the best quality with the best optimization I came to the two following problems:
1. Reflection Probes don't do anything at all the the material for some reason in my own scene, it does however work in the demo scene. (I have them enabled in quality settings, material also have reflection enabled, and works on other objects with material with reflectiveness)
2. I have multiple waterplanes at various water heights for ponds and such, all of them equipped with a AQUAS_reflections script. After spending some time with the profiler and such, if the camera is in view of multiple ponds, it will execute all reflections scripts, times the number of ponds in the view active. This also makes it so that even if I have the AQUAS_reflections script disabled, but another pond in the same view has it enabled, all the ponds still will have reflections. TL;DR We have POND A with no reflection script attached, and Pond B with a reflection script attached and enabled. Having both ponds in the same camera view, makes it so that both of them have reflections.
does temporal anti aliasing make the caustics break? I can't seem to get it to work, not sure what I'm doing wrong?
What would be optimal way to use Aquas in procedural terrain? If I make a gigantic plane for Aquas plane there are lot of situations where water is under terrain and should be culled. If it wouldnt be procedural terrain I could make only correct water area shape plane etc but how Aquas water-plane culling could be achieved in procedural generation?
1. Have you checked the size of the reflection probe (not the object size, but the size of the probe "component")? It is best if it envelopes all water planes, just so you don't need multiple reflection probes.
2. There is no need for multiple reflection scripts running at the same time, if you have the same water material on all the water planes. If that is the case, you can delete the reflection script from all the other water planes that share the same material. In fact in one scene you could have a single reflection script that passes the rendertexture for the reflection to all water materials that are in the scene, but that would require a bit of coding. Alternatively, you can have a single reflection script for every material (not waterplane). Also make sure, that the checkbox "Enable Reflections" is checked in the material settings.
Does this help you out?
I don't neccessarily thing you're doing something wrong - temporal anti aliasing was known to break certain visual effects in the past (including Unity projectors), when looking at it through other materials.
I'm afriad there is no real solution to it, but you may drastically midlen it by reducing the caustic intensity for situations in which the camera is afloat while leaving it as it for situations in which the camera is underwater.
Does that help?
AQUAS does does not get culled behind intersection edges, however it does not impact performance either when it is not rendered, because the calculations in the shader relate to a texture out put and you'd have that anyway, no matter where the actual waterplane is. It would make a difference of course, if AQUAS had physical waves.
Infinite world space UVs that doon't move with the plane are currently in development. Please give me another 2 weeks or so. Up to this point infinite water was only possible using water tiles that rearrange based on the camera position.
Any issues with 2018.3? Or are you still working on testing it? Thanks
AQUAS works with Unity 2018.3, however Unity's Post Processing stack v1 seems to have issues with the most recent Unity version. I would suggest to first import the Post Processing stack v2 via the package manager and then import AQUAS and uncheck the Post Processing stack folder that comes with it, so that only AQUAS is imported. That should do it. Please let me know, if you experience any unexpected behaviour.
I've bought this asset for my newest project, however we have been having some troubles setting it up.
I need the project to work in VR. Currently, I have installed Aquas, Gaia, Enviro nad PostProcessing stack v2 into our project. As far as i know, Aquas currently does not support single pass real time reflections, however in your previous posts I've read that usage of baked reflections is possible in single pass - is that correct?
What would you advise in order to achieve best possible quality of reflections and performance using those assets? Single pass + baked reflections or multi pass + realtime / baked? While it would be nice to have realtime reflections, we focus more on them appearing correct to the player. Could you please elaborate how to set up Aquas to use baked reflection probes? If multi camera setup is needed, what scripts have to be where and what options do i need to check? When using multi pass dual camera setup, reflections appear to stretch and move when the player rotates his head around - is there a way to overcome this?
I have a scene that is using Map Magic. The scene is a large island and I have one very large Aquas plane that surrounds the island. Is there a way to not have the water plane not be drawn under the island and only on the visible parts surrounding the island? I'm afraid I'm losing performance by drawing areas not seen.
I've actually hidden the terrain and looked at the Aquas water plane, and it really doesn't use that many triangles. I think that you would use more triangles trying to cut out the part that is under the terrain.
Just my $0.02
I have same situation and did ask it couple of posts earlier
It shouldn't affect performance.
Can we track down 0.6k GC being created for every frame under Aquas_reflection.OnWillRenderObject ? It's kinda annoying and it can stack up.. especially on consoles.
Also I saw Enviro integration note. Can anyone explain how and what is integrated?
Great! Thanks! One less thing to worry about.
Well, I don't know about this. This can't be 100% true. In 3D rendering , there is certain cost for overlapping polygon rendering called overdraw. The water may or may not get rendered before other solid objects, but even if it did render afterwards ( which is ideal ) GPU will still need to check for the zbuffer to see if it needs to draw or not. And that is the overhead by itself. It is a lot cheaper to do the check and not draw, but it is still a work nevertheless. The impact is probably linear to the amount of surface it wants to draw on the screen. How is this not affecting performance, I don't know? Or have I not understood how Aquas water renders all together?
Added to my HDRP project, all is pink (also after the Upgrade Materials step) and I have a bunch of erros "Shader properties can't be added to this global property sheet. Trying to add Refraction" and the like
I've answered your message, but here's my reply again, so @P_Jong can read it too:
"For the best performance it is of course best to have single pass stereo rendering. This is because then an image has to be rendered only once and then can be split to be partially osed for both eyes. Multi-pass rendering is generally more expensive, but also more accurate for certain effects.
However realtime reflections with controlled distortion does not work with AQUAS, when using single pass stereo rendering. I don't know how exactly it works when reflection probes do realtime reflections, but AQUAS's reflection script has to call Camera.Render() to capture an image by an imaginary camera and then render it on the water surface. The problem with this is not really AQUAS however, it is that Camera.Render() simply does not consider single pass rendering. This is something that Unity will have to give us a solution to, I'm afraid I cannot do much about it.
If you are all about performance I would use single pass stereo rendering and leave AQUAS's realtime reflections out. I would instead use a reflection probe with a baked reflection that is captured when play mode is entered. Here's the major difference between a reflection probe and AQUAS's realtime reflection. AQUAS's reflection does not take normal maps into consideration by default. Instead you can use the normal maps that are applied on the water to control the amount of distortion that you have on the reflections. Unity's reflection probes work different. There you always get the full distortion that corresponds to your normal maps. This can result in you actually not even realizing, that the water is reflective, because the distortion is so strong. You may play around with the refraction values in the material settings, but in the end it is always a compromise you will have to find (refraction vs. reflection distortion).
For the best visuals of course you may use multi pass rendering and use AQUAS's realtime reflections with controlled distortion but then again - this has quite an impact on performance."
The amount of effort it takes to draw an already rendered image on a surface is way lower than the effort it takes to render that image in the first place. When you look at the profiler and have AQUAS's reflections on, you can see that Camera.Render() is causing most of AQUAS's overhead and the more objects have to be rendered to that rendertexture, the bigger the overhead. The thing is, that camera.render gets called anyway when you use this approach for reflections as AQUAS does.
E.G. you can take a scene with a lot of objects and have AQUAS reflect everything to see how much overhead this produces. Then you may only disable reflections in the material, but not the reflection component itself. There should be no more reflections, but the overhead should still be there. This - at least to me - suggests that the drawing of the rendered image isn't the bottle neck, but the rendering itself.
AQUAS doesn't yet support SRP, I'm still in the final stages of making it happen, but a bit behjind schedule - sorry for that.
Hi, my team and I bought AQUAS to use it for our project in VR for an underwater scene. The player is inside a sort of submarine and we wanted to add caustics effect on the walls but we have some weird issues with your projectors. Depending on the angle we're looking, the caustics seems to fade more and above that their colors change. Again depending on the angle, they seem to be yellow (which is the same color of the spot light outside just in front of the submarine) or blue which is the color of the main light.
We did ignore layers we didn't wanted the caustics on, we tried to make the projector as a child of the water but then they just disappear as the depth fade cannot be changed anymore. We tried on non-orthographic size, we tried making the caustics a child of the submarine also. The only way we found to display them was to just drag and drop the projector on the scene and position it near the submarine.
Do you have any ideas what is causing those issues ?
The cost of overdraw is going to be there no matter what. Question of how much impact that has vs of no or very little over draw depends on number of factors such as what platform are you targeting for. What hardware you are running etc... sure the reflection cost is obvisouly going to be high but that is ofcouse an optional feature. I think the original question was to find out if it is worth to create a custom mesh to eliminate overdraw at all. And I tends to think.. ofcourse it will help. But need to think about the platform target etc to see if it is worth doing it.. if you need to squeeze every bit of pixel shader cost then by all means i think a custom mesh will help.
does it support HDRP?
Did you ever get a reply to this? Getting the same issue here too.
No I didnt... Im not using Aquas anymore due to this bug and performance issues.. DM if you want to know whats the best.
What would cause my lakes to look like milk in the editor?!? Now when I run, the surface is completely smooth. It's for a VR project (so I have turned off AQUA Reflections). Was using the "Deep Lake" material and adding multiple lakes which looked fine - but at some point started to look like this:
Any tips on speeding up performance? I have kind of a strange performance issue. Somehow I got it running at 60 fps on my Xbox One game Final Star, but any other time I've attempted to use it I've maxed out at around 30 fps. I'm using the exact same settings, so it's kind of baffling. There's something about the scene I'm using it on that's giving me 60 fps, but I can't figure out what it is.
The big difference between Final Star (hitting 60 fps) and the new game I'm working on is that Final Star has the water sitting over a terrain with shallow lakes cut into it. Neither of them are drawing much water on screen at a time, and I've even tried blocking out the new game's water with a cube to see if that affects the frame rate, but it doesn't.
Also, if I run the scene, then turn the AQUAS Reflection script on then off again, the lake displays correctly. It's like the shaded need to "reset".
@Keaneo Hello, I'm having the same issue in my project. I'm also doing a VR project and I'm using Aquas Lite. It's very weird, my water plane seams to work fine, but when I move the camera in some angles (espacially when I look onto the ground or on the left), my water plane looks smoothed, the reflection disappear. I don't really know what causing this. I though at first that was some Occlusion culling issues, but I have no Occlusion culling baked in my scene, and the issue still here when I check "Ignore Occlusion Culling" in the script.
I'm using others asset, Enviro, Gaia, CTS, and I'm in Forward rendering with MultiPass rendering. I don't think the problem is cause by the others assets I'm using, but I can't figure out what's going on.
@Keaneo Ok I just figured out what was causing this, I had two objects in my scene that were using the Aquas shader. Next to my lake I put a river but the meshes were different. Whenever I was looking at the river, the camera was rendering both meshes with the same shader and script on it, and I guess there was a conflict in the reflections, and I think my lake water plane was rendering my river reflections. I solved it by using a different material and a different shader on my river.
I have 5 lakes in the scene so I went through and gave each its own copy of the main material (Deep Lake) and the primary/secondary caustic materials - but I still get the issue :-(. I also have a river but that uses the River Auto Material asset so it's a different shader.
I have an issue to report with Aquas c1.5.4 in both Unity v.2018.2.20f1 and v.2018.3.1f1.
Build type is Win x86_64.
As far as I am able to determine, when the Scripting Define Symbol UNITY_POST_PROCESSING_STACK_V2 is present in the Player settings, the underwater effects will show and the audio will play in the editor in while in play mode but does not show or play in the build. It also causes the build failure reported in this post.
This symbol is not added to the player settings when using Post Processing Stack V2 available in the Asset store. However, when using the Post Processing Stack V2 available from the Package Manager (version 2.1.2 as on this writing), it seems the PPV2 stack adds the symbol UNITY_POST_PROCESSING_STACK_V2 to the Player Scripting Define Symbols setting and it cannot be removed as it is re-added during pre-build.
Thanks for an awesome product and here's hoping it's a quick and easy fix!