Orbit: Weather & Seasons BP

yay… Now release the kraken!!! :stuck_out_tongue:

Congrats on the submission, I look forward to testing it out.

Great looking forwards to testing it out thanks.

Geat news! =)

Thanks guys!

Here’s the trailer:

Wow… been a few weeks since I last checked in on this and dayum it’s looking even better! Easy purchase for sure. I think you will do very well on the marketplace :slight_smile: Awesome work.

Just learned about this project, congrats on the submission. I have to admit I would be on the fence without a demo or something if it were more expensive, but at $20 I’ll pick it up for sure.

I was also wondering if you were taking advantage of this method of particle accumulation for individual snow flakes, etc or not. It didn’t quite look like it: Snow: Scene GPU Particle Collision with Signed Distance Fields | Feature Highlight | Unreal Engine - YouTube

Fantastic, would you perhaps consider adding some sort of voting system so that buyers can vote for what would they like to see in future updates? I am pretty sure multiplayer support would be high on the list :slight_smile:

Also could you give us number what is the avarage FPS and drawcall hit on empty scene with this system? For me system as itself is defenetly a buy, but it would largely depend on performance hit.

Thank you very much for the kind words :slight_smile:

Thank you for the kind words! My system does not use the GPU particle accumulation shown in that video. While it is a great feature and has plenty of practical uses, it doesn’t perform well enough in large, open scenes, and doesn’t pile up as well as using displacement. I had considered using it and the masking function I have now, but it likely still would have performance issues and would essentially be a hat on a hat.

Let me know if you have any further questions!

As of right now I have a post-release updates list on Trello that people can vote on. Following the marketplace release of this system, I’ll begin working on regular updates to start rolling those features in, as well as addressing any bugs/performance issues that are reported to me. Please be sure to vote for the features on that list that you’d like to see, and I’ll address them in the order of most votes received. If you’d like to see something that isn’t on the list, let me know here in this thread, and I’ll review the plausibility of adding it.

I’ll also throw this into an empty scene after work today and give you the most current performance stats.

Cheers!

All that video is missing is the foliage changing with the seasons haha :smiley: , nice work.

I’ll be creating and adding content examples/tutorials in regular updates after release, I’ll be sure to include something for by-season foliage color changing/death+regrowth. I’ll add this to the Trello extra features list.

Cheers!

Edit:

Scratch that it’s already on the list. :smiley:

Thanks!

Thank you looking forward for posted numbers. Maybe i would have one additional question. The snow coverage method where the snow isnt being build up under cover objects is that working with pre-set static objects, or is it also working with realtime objects? For example if you would place static object in realtime would it also fit with cover system? Not that its any deal breaker if it doesnt work, but just to make sure. Also not sure if you said it before, is snow buildup using tesselation or is it POM and is it adjusting current set material for landscape, or is it additional material?

As of right now, the system uses mesh distance fields to form the culling areas. If you place a new object at runtime, it should update and mask out the rain/snow effect, as long as your object has Affect Distance Field Lighting ticked “true,” though I haven’t tried that yet, I can give it a go after work.

I’m going to be testing a different approach and potentially including it in a future update, one that’ll take advantage of scene depth instead of mesh distance fields, as 4.13 scene captures now support orthographic view, and using a scene texture gives more options for performance, such as having the options to bake culling areas rather than updating them constantly, or controlling how far away from the camera the culling areas are formed, for performance. Scene depth should be more accurate than my current mesh distance field approach as well.

The snow buildup is calculated in a material function that you can put into whatever surface material you’d like to accumulate snow on. You can take the “displacement” result pin from the function and plug it into either the world position offset node or the world displacement node. I set it up this way so that landscapes could use WPO instead of displacement, as tessellation was a huge performance hog on landscapes in 4.12, but 4.13 introduces some optimizations in the area so the choice ultimately boils down to whether or not you want to tessellate the mesh being displaced. The video shown in the trailer has no tessellation on the snow buildup, as the demo project it was recorded on was compiled in 4.12.

Let me know if you have any questions!

Cheers!

Alright sounds great, i like the fact that you arent using tesselation and runtime updates to snow sound good aswell. Looking forward to performance stats, looks like that was the only concern from the start afterall.

Hey,

a must-buy for me as well.

But multiplayer is also for me a big point - At least for dedicated servers.
Isn’t it possible as workaround to have the weather system on client- and server-side? Then handle the parameters on the server and handing them over to the clients as replication?

Cheers

Depending on 's system, you could potentially just replicate some variables over from the server to control it… but it really depends on how he has set it up. Multiplayer compatibility for this system would be awesome, though it’s not a deal breaker for me.

I definitely agree that multiplayer is a hugely desirable feature, but I didn’t want to go into this with the little networking experience that I have and then try and force something into it, or push back the release to an indefinite date so that I could spend the time needed to get it tuned and working. I am going to be visiting multiplayer support as a feature in my planned regular feature updates following marketplace release. :slight_smile:

Essentially this is the idea, just passing the core system variables back and forth between the host and the client(s). I’m studying multiplayer on my downtime now for a project I’m building a prototype for, so I’ll definitely be taking the knowledge I gain there and applying it to Orbit.

Also, I’ve got some performance screens. My system is fairly beefy, an i5 4670k, stock speeds, 12gb DDR3 ram at 1600mhz, an EVGA GTX 980ti at default clock speeds, loading everything from a 256gb Samsung EVO SSD.

With the stratus clouds at medium sampling settings, I get a constant 120fps in the flying game example project;


And at the highest sampling settings, consistent 120fps:


So I cranked up the render distance (from camera space) to a crazy high value, dipped down to about 95fps:


It’s worth noting (I don’t have screens, I did this all before work because I forgot to do it last night) that rendering the stratus clouds and the volumetric fog hits the performance pretty hard; at medium sampling stratus clouds (my go to for game development, whereas I typically use ultra for getting “money shots”/cinematic stuff) and high quality/near draw distance volumetric fog, I dip down between 75 & 85 fps in the flying game content example. This is due to the high overdraw from rendering translucent passes on both the volumetric fog and the stratus cloud layers.

Let me know if you guys have any questions.

Cheers!

can you give us a demo of the system? That way we can see it better in action :smiley:

I’ll see what I can do :wink:

Usually how long it takes to be on the marketplace?