SilverLining for Unity: 3D volumetric clouds, sim-quality procedural skies [DEPRECATED]

SILVERLINING FOR UNITY HAS BEEN DEPRECATED.

Professional simulation & training developers should check out BlueSkies, a native wrapper of the SilverLining C++ SDK for Unity instead.

This thread will remain for support purposes for existing customers only.

Hi,

We’ve released SilverLining for Unity, a ground-up port of our popular SilverLining Sky, Cloud, and Weather SDK for C++ that’s widely used in commercial games, and serious simulations by folks like NASA and the FAA. SilverLining brings you physically-accurate procedural skydomes for any specified time and location, with an attention to detail that goes down to modeling the amount of ozone in the atmosphere, the density of water droplets in the clouds, and incorporating observational data on twilight lighting conditions.


Even the positions, color, and magnitudes of the stars at night are accurate. But, what sets SilverLining apart from other sky packages is its real 3D volumetric clouds, with realistic lighting that depends on the time of day and even the phase of the moon, that you can fly around and through. By using Unity’s ParticleRenderer component for each cloud, rendering is very efficient, and a scene including dense coverage of cumulus clouds extending to the horizon involves only a couple of hundred extra draw calls.

We have a Web Player Demo up if you’d like to see SilverLining for Unity in action, which lets you vary the time of day in real time. Also, here’s a tutorial video showing just how fast you can have simulation-quality skies and 3D cumulus clouds in your scene with SilverLining. Thanks for checking it out!

Frank Kane
Founder, Sundog Software LLC

Ouch a tad steep for me at this point but nice work!!

Looks nice, al biet pretty pricey. How is this different from UniSky?

Volumetrics and Moon phases along with star positioning is what I saw as different but not sure that’s worth an additional $175

Possibly if it was very light weight and had little to non performance impact…

What is the performance impact on a respectable machine?

Wonderful.

Hi,

psyclone: I happen to be on a mid-range Toshiba Satellite laptop with built in Intel HD graphics at the moment. The scene shown in the demo and tutorial demo renders at about 65 FPS with SilverLining, and 70 FPS without. It’s pretty modest overhead for the number of volumetric clouds in that scene (over 250, stretching all the way to the horizon.) Pulling in the visibility, decreasing the cloud coverage, or using a more realistic FOV would cut down that overhead even more.

Regarding pricing - bear in mind that the C++ version of SilverLining lists for $2,500! We’ve discounted SilverLining for Unity very steeply because we’re excited to break into the Unity community.

A question you’ve to ask yourselves,
Do you want to spend extra ~200-250 drawcall for rendering clouds?

And there’s no relation with C++ version of SilverLining. This one is c#, particles and custom unity shaders.
I think its expensive as money and as resources.

Thanks for product sundog.

Also keep in mind that while they’re volumetric - if all you want is the high visual quality, you could RTT them behind the scenes.

Would like to sample that and the night sky

A UI selection slider would be nice

Seems to run reasonably well on my old Macbook Pro and flies on my Toshiba i5. The demo terrain and scene are a much larger hit to performance than the volumetric clouds. I “flew” the camera well above the terrain and pointed it away from the terrain behind me and the frame rates of just the clouds seemed very good. Performance certainly seems good enough to be used in anything I do, but my target machine is a desktop PC so I’m not nearly as picky about a couple extra draw calls as I am visual quality and accuracy.

Also, how accurate are the star positions and moon phases? Can you enter a day / time / latitude / longitude and get an accurate representation of the start field?

Any plans to port your “Triton” ocean to Unity? I remember a while back several of us were drooling over it before the “community ocean shader” was born. And although we also have two UT made ocean assets, neither is fully developed and we still lack boat wakes and spray which I see you have in your SDK.

bigkahuna - Thanks, we’re quite happy with the performance as well. While there is a draw call for each cloud in the view frustum, they are all drawn using the same material so there should be no state changes between the draw calls.

Yes, the phase of the moon, star positions, and position of the sun and moon are all accurate for the location and time you specify.

SilverLining is our first foray into Unity - if it does well, porting Triton over would be something we consider next. It would be a bit more challenging since it relies on GPGPU capabilities and would require us to develop native plugins for Unity in order to compute the FFT’s fast enough. I’ll have to check out those other ocean packages you mentioned to see if there’s a simpler way to do it in Unity.

Hi,

I was wondering, is it possible to instantiate individual clouds? In other words, if I wanted to place individual clouds manually into the scene and control their appearance and movement, is that possible or is it all procedurally generated?

Other software I’ve used allows you to place an object or mesh where you want a volumetric cloud to appear, so am looking for something similar in real-time.

Bryan

The individual clouds are placed procedurally, using a physical model of cumulus cloud size distributions derived from observational data. Basically you define an area that you want filled with clouds at a given sky coverage, and SilverLining fills it in for you. Manual placement of individual clouds is not exposed in this initial release.

If you have any C# scripting experience, it wouldn’t be hard to modify the underlying scripts to allow you to place multiple cloud layers to achieve manual placement of many distinct areas of clouds. Under the hood is a SilverLiningCumulusCloudLayer object; you would just need to modify SilverLining.cs to have many of these objects instead of a single instance.

In either the webplayer or in the Tut do you represent the 24 hr transition.

I previously mentioned a slider would have been keenly appreciated in the webplayer so that we could see the 24 hr time lapse.

So how about this night sky or should we just take for granted that its there?

Sorry if i sound cynical but i’'ve seen assets purchased taking another 6 months of beta testing before they reached a ready state.

runner - our bad; our original demo build did have a time of day slider, but somehow it got overwritten. I’ve re-posted a new WebPlayer for SilverLining that includes a time of day slider so you can see it in action.

There are also several screenshots in the Asset Store listing that show various times of day.

Really hope that Triton Oceans is ported over, this would be a major addition to Unity. Looking at getting Silverlining - due to its use of realtime star positions, a brilliant feature.
Both together would make for a killer combination.

Your request is well timed - I started tinkering with Triton under Unity on Friday and did get an ocean scene up and running. Still quite a bit of work to turn it into a real product, but it looks like it will happen. It needs to be implemented as a native plug-in due to its use of CUDA and OpenCL, which means it will be a Pro-only product for PC desktop initially.

SilverLining and Triton do play well together - if you download the Triton Ocean SDK Demo it actually integrates both products. You can change the time of day dynamically and stars and moon will come out, and the water reflections will change accordingly.

Thanks for your interest! Might want to sign up for our mailing list to make sure you get any launch announcements.

Best regards,
Frank Kane
Founder, Sundog Software LLC

Thanks Frank, that all sounds brilliant. Can’t wait to try it out.
Had looked at the demos and SDK kits previously and there the reason I’m holding out for your packages - require both, so great the unity versions will play nice together. Will sign up to the mailing list too.

Do you reckon that the full power will be implemented - would love to get something running similar to what IFAD have using the standalone package as in the following:

Yes, the complete Triton API is wrapped automatically by SWIG. I’m also including some collision functions in the TritonUnity.cs script you can use to get the surface point and normal at any ray. (Note, Triton doesn’t include a buoyancy model for your ships - that’s an exercise left for the reader.)

Triton for Unity is coming along nicely; here’s a video to whet your appetite:

I also have ship wakes working within Unity as well, with both 3D wave displacement and propeller backwash.