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.
New Unity Live Help updates. Check them out here!
Discussion in 'Assets and Asset Store' started by tatoforever, Nov 8, 2016.
Here they are:
You need to enable Cascaded Shadows, like this:
Thank you, sorry I'd missed that! I was only looking in the Quality settings for that. Working now, looks great.
I will add one more small update to current NGSS (default renderer) to make this process automatically so people don't have to do this if they are targetting mobile.
One last feature update for NGSS v1, new cascade blending for both Shadows projections (this one is StableFit):
Hello! I'm using now your shadows in my 2D project ❤
Low shadows resolution, spot lights, and flashlight bounce light is point
Pretty good result but it will be not really playable with shadows on slow computers...Like mine =)
How it could be speed, quality upped via upcoming NGSS V2? And with default deferred rendering?
I will recommend LW renderer and the upcoming NGSS for LW. It looks like you don't need plenty of lights casting shadows simultaneously anyway, only a couple of those. You can have up to 8 casting shadows in NGSS LW which runs on the same pass.
PS: Your project will benefit a lot form Raytraced Primitive Shadows (speed and quality)!
Do you have an ETA for the upcoming Raytraced Primitive shadows and semi-transparent shadows from semi-transaprent meshes?
I said v1.8.5 will be the last feature update but I wasn't quite happy with current blending so here is new cascade blending in v1.8.6 (available in the coming days):
PS: If you folks found something that needs to be addressed, it's now or never.
Sometime this summer!
The company where I work at uses your shadow asset in its current project. The asset itself is really awesome and really makes the lights look super cool! One thing that we have noticed that could use a small improvement is the contact shadows image effect. While it really provides nice depth to the scene it can also be quite erratic at times especially when the camera is moving slowly. Would is be possible to use temporal filtering or some other technique to make the shadows be less erratic whilst the camera is moving slowly? Unity worker Kejiro (https://github.com/keijiro/ContactShadows) did something similar in his version which can be found in his Github. If this could be achieved then we would be more than happy! Cheers!
NGSS v1.8.6 is submited to the store for Review. Features and changes:
- New Cascade Blending. As Shown in the previous video/image works with both shadows projections.
- Support for OpenGLCore API (It was partial in the past and inline sampling doesn't work there so I added couple of fallbacks to make it bullet prof with that API).
PS: Ask support if you want the package right away.
Absolutely love this asset - shadows look amazing!
Any chance of adding AR support in the future? (being able to use these lights on a transparent plane to just render shadows).
What you are looking for are transparent geometry that only receives shadows from any caster/light? If so, I got a solution for that, poke me out at support email.
Hello, I've got a few quick questions about this asset as I have a pretty particular use case that I'm not sure it's suitable for. I'm not particularly concerned if the shadows are hard or soft, but more so their stability. We're using very large areas in an enterprise application - the closest I can come up with as an example would be Google Earth. Essentially we're running into issues because of our fairly large near-far clip ranges, regardless of tweaking shadow distance or playing with the bias values.
Are there any examples of this asset being used in a large-scale environment where precision would otherwise be an issue with the default Unity shadows?
The largest example (that I'm aware of) where NGSS is used is Rust, a popular open world game on PC with very large open areas. But NGSS will not improve precision per see, it will only make your shadows look better (specially with low ress shadows). More precision can be obtained using 32bits depth maps and larger shadowmap resolutions.
However with raytraced/raymatched solutions, such as Contact Shadows it can help mitigate shadowmap artifacts such as acne and panning. This is something that I'm heavenly researching right now and soon a new version of NGSS will provide super precise ultra fast raymarch shadows. First with primitives Signed Distance Fields using analytical functions and then with any kind of given mesh using baked Signed Distance Fields volumes.
PS: Current NGSS comes with a fast and cheap ContactShadow solution.
Challenge Accepted! (I think I know the answer already but figured worth an ask)
So I've been playing with using Contact Shadows after our previous discussion, but I've found a limitation with them that is concerning.
It seems as soon as part of an object goes off frame, the Contact Shadow effect disappears for that portion.
I'm guessing you're going to say it's because it's using the free depth map the camera generates. but is there any way to fix this? For doing cutscenes this is a problem, though I can use the other technique we previously mentioned to get around it I suppose, giving the ground it's own Unique shadow for that purpose.
On another topic, I saw this article, and I thought you may enjoy it:
He talks about how to implement arbitrary mesh SDF at real time speeds. This might be good for your efforts?
In rasterization you can't access data outside the screen because there is none, only what's visible is accessible through shader programs.
If we can access data outside the screen then raytracing would be matter of few samplings.
Voxelization and signed distance fields (to some extends) of the scene it's just a hacky way to represent scene spacial and visual data.
So yeah, rasterized based effects will remain limited and that's the reason why nVIDIA and Microsoft are working on the real-time Raytracing API (to help gatter that outside the screen data).
PS: I'm heavily researching raytraced-like solutions. Primitive Shadows is just one of the many features to come out of it.
I also have another question. In the documentation it says:
"To change soft-ness of the shadows change the Shadow Strength property on the
I'm pretty sure this used to work. but using the latest version of NGSS, and under 2017.4.3f1, it doesn't seem to work anymore. Changing the Shadow Strength slider just make the shadows fade in and out.
Did something change on NGSS' end, or on Unity's?
Which light are you referring?
With Spot and Point shadows Shadows strength value will change soft-ness. On directional shadows you do that within the NGSS_Directional component under "Global softness" property. It have been like this since v1.5.
oh i'm sorry, for some reason I thought it worked on all lights. My bad. :X
Will your improved shadows require the new pipelines, or will they work with the existing/default pipeline? Do you have a better idea of when they'll be ready to release?
New NGSS is only for HD/LW pipelines as with current pipeline there's not much you can do without renderer sources.
To be released sometime this summer.
@tatoforever Will the new version have an upgrade cost or be for free to existing customers?
This is how it looks (discount and support wise) for NGSS products:
- Current NGSS version planned support -> as long as Unity keep supporting the current pipeline.
- New NGSS versions will be paid and only available for HD/LW pipelines (50% discount if you own current NGSS).
They are all separate products, so no problem in updating one, it won't break the others. No collision feature either as both targets different hardware/platforms (specially the HD/LW pipelines). Updates will be as with current NGSS, community most wanted/requested features will be priorized first (as soon as the base product get's released this summer).
Is this going to be the same for NGSS 2.0?
Well, shadowmap is data that is outside the screen (as grabbing local lights space data != main screen data) and primitive shadows is Signed Distance Field data (world space data). So to answer your question, to some extend yes.
PS: In the far far future, when Unity implement DXR, we will able to sample data ouside the screen with less headaches and limitation.
So, with the above in mind, is it possible to use NGSS as a sort of ambient occlusion effect, that's rendered on top of Unity's existing shadows, but perhaps actually only from the near plane and below? That is, only the small bits that Unity actually misses? And then fade it out after a certain distance from the geometry, like you do with ambient occlusion?
It's not possible, you can't render Unity shadows and NGSS shadows. Plus it will double bandwidth use = super slow.
Contact shadow is too hard on my character face! can't I make it a bit more smooth?
I also used SE Screen-Space Shadows but it's too soft and noisy. So I thought NGSS may be better but it is too harsh on my character skin! I really need to make it more soft.
Hey, would you have any suggestions on how to lower the quality of point and spot lights above and beyond changing the samplers per frag in UnityShadowLibrary.cginc?
I'm working on a VR project using a single point light to dynamically light the environment. My rendering budget is nearly all eaten up at this point, hence the inquiry. Dropping to the lowest POISSON_16 samplers per frag really helped and the end result really doesn't look too bad in VR.
Just curious whether there are any pointers I could apply to get me a little further away from the dreaded frame drop haha.
Also, is there a similar contact shadow solution for point and spot lights? From the manual, it made me believe that the current script is only applicable to directional lights.
You can play with the softens property but ContactShadows is not a full shadow replacement, it must be a hard shadows to fill gaps left by shadowmapping artefacts.
At 16 samplers you are hitting the bare minimum NGSS can offer (Unity default is 4), you should not have any performance impact hit, what's your testing hardware?
There's plans to improve ContactShadows (Beyond directional support) but not right now. First need to finish the base features of upcoming NGSS family products and then from there add more features on every major version. It's targeted later for this summer.
PS: Sorry for the response time, for some reason I didn't received the email notifications. :\
You may want to update this assets store page as it clearly hints HD & LW pipelines will be part of this asset with following message:
Don't get me wrong, I think this asset is affordable already and don't mind extra cost for SRP version at all, just find it weird that the store page markets like it's included in the future update of this asset.
how do i influence the shadow strength for pointlights since the strength is controlling the softness?
You are right, will do soon.
With external light sources such ambient, baking, etc. No easy way to do it in a per light basis as no renderer sources. This won't be a problem with SRP as Lights params are fully accessibly.
hm to bad .. there is no workaround or something? using it in vr and i do use a second light atm with no shadows to brighten them up but this is not practicable in vr at all... with just a view lights per pixel
The only workaround is to clamp the returned shadow (between 0.0 and 1.0) to your desired value but this will be your shadows opacity for all those shadow types because the shadow renderer does not contain light indexes and is internally managed by the default renderer.
Did you find a way?
It should be useable with Unity Cloud Build.
estimate date for NGSS 2.0?
Thanks for the reply. I'm working with a GTX 980 so not the most cutting edge. The character models I have in the scene are fairly detailed as well, so they are probably sucking back some significant rendering power as well.
Sometime this summer. Preview videos coming soon!
The NGSS Shadows are fabulous!
Now testing in WebGL, I can't get them to work in a build, has anyone had succes in WebGL?
(Unity 2018 webGL 2.0)
Just a heads up, I did notice that HDRP master (and core) just got PCSS shadow filtering natively. But I'm sure NGSS for LW and HD will still have additional feats to make it worth using
Make sure your shaders are SM3.0. PCSS is not supported in WebGL as there's no inline sampling.
Yes, the new raytraced primitive shadows and other new stuff that default Unity shadows don't have. Plus different quality sets at your disposal.
Minor NGSS update submitted to the store (v1.8.7). It adds backwards compatibility with Unity 5.6.6 (was hardcoded up to 5.6.5). Now it should work "theoretically speaking" up to 5.7.0. I don't think Unity will add anymore versions of 5.6 though.
PS: New NGSS is coming along very well, hopefully new showcase videos soon!
Does this work in latest unity 2018 version?
Yes. Release candidate and beta versions of 2018 are fully tested. Alpha versions not guaranteed.
To work well with version control - and UCB - we really need another way than "hacking" the Unity install. Is there a workaround or another way?
Not for now. The proper way to do it is a custom Scriptable Render Pipeline, which I believe @tatoforever is also working on.
Question: Is there a way to create an if inside of the UnityShaderLibrary.cginc that would allow you to switch the samplers per frag #define value based on the platform being used?
For example, if I wanted to build and app that was Desktop and VR capable, the if would catch what is running and setup the appropriate sampler count to avoid having to make two separate builds?