[Released] Cascade - Rivers, Lakes, Waterfall and more ..

I have started the “how to” series …It will be a collection of short video that help to start with the asset.

First one is about lakes …

enjoy …

4 Likes

This already looks like it will be very useful for pre-generated terrain - a real time saver and interesting to watch it create the mesh surface.

I’m wondering if it would fit into this workflow:

My game uses “Water Volumes” - a Swim component can be attached to any shape and then you can swim inside it like this example with a sphere:

For a proceduraly generated terrain, would we be able to 1) generate the terrain 2) (this is the part that would apply to cascade) in realtime drop a Node like in the above video and have it generate the lake there in realtime? Like maybe through an api (drop node at x,y,z and activate)

If we can do that, we could just texture it with some premade textures and so not worry about all the remaining calculations and steps form the video

My second question is any suggestion how to combine this with a water volume?

Off the top of my head, i would:

  1. generate terrain
  2. scan height map for depressions using a home made fast algorithm
  3. drop one of your nodes and have it build a lake or three (is this mutlithreaded the lake generation?)
  4. Find the bounds of the generated syrface mesh
  5. create a rectangular cube with a collider trigger and swim component that matches these bounds and position it with its top at the lake surface
  6. then effectively once you go under the surface, you would be entering the water volume

(only step 3 is for Cascade, the rest i can do here) -Im not really looking for specific answers, im just trying to get feedback and suggestions so if anything about what i said pops into your mind or something sounds really off i would love to hear it.

1 Like

Regarding the Swim volume, i am just thinking i could maybe even skip that step for lakes

  1. scan a terrain (from my homemade script)
  2. find an appropriate spot to drop a Cascade lake node (cascade specific action)
  3. generate the lake mesh and add premade texture (cascade specific action)
  4. dynamically add a collider trigger to the lake and a swim component (from my homemade script)
  5. Keep track of the lake Y position (from my homemade script)

when you collide with the lake, turn on the swimming, and only turn it off when you exit the collider AND you are higher than the lakes Y position. That way you would have swimming enabled whenever you are below the lake, and presumably you cannot exit a lake without passing through the lake collider because the terrain is in the way.

Just thinking out loud - you work is inspiring and very interesting no matter what is possible.

1 Like

Alternatif terrain generation, create river and body water before the landscape, it’s easier to correlate a mountain with the down slope of a river than contrary.

1 Like

Good points …i need to elaborate a bit more .

Hello . yep . we can do …i need to elaborate a bit more and I will share something

Is Water Volumes something developed in house ?
I have been working to a swimming component that is not collider based, to include in the Cascade

3 Likes

Cascade submitted to Asset Store …We expect to be live in 4 or 5 weeks.

8 Likes

Congrats!

2 Likes

What do you mean ‘submitted’? What about the scope creep and the endless waiting … I just don’t know how I feel about this ‘submitted’ stuff :stuck_out_tongue:

2 Likes

What you gonna charge…need to know if I should run to the bank. J/K … maybe just kidding…

Terrains bleh, wonder if this will stick on top of some voxels!!!

2 Likes

Is there a way to get notified once it’s released?

2 Likes

watch this thread :wink:

1 Like

Cascade will be live on Asset Store by end of month / first week of March. That is according the review time by asset store team. As soon as live, I will post here.

4 Likes

Yeah, its just a collider linked to my home made swimming system - i guess everyone has their own swimming solutions so there are probably a hundred ways to approach this. I used to trigger swimming in my game when you went below 0 height (the ocean) but i changed it to work with colliders which is more flexible. (an ocean can now be just a big swimmable cube and i can make lakes too at different y positions)

Sorry i threw so much at you:) I think i just wanted to know if i can place a node and generate a lake in realtime, and it sounds like you have info about that coming up which is cool. I think i could just attach one of my coliders pretty easily and A swimming component sounds pretty interesting too - i would love to hear how that would work. But if we can generate a realtime lake like on a mapmagic terrain i think the rest would be pretty straightforward (although nothing is in coding right? :slight_smile:

On a side note, the tricky part will be automatically deciding where to place lakes. I am imagining i will write a script that detects large depressions in heightmaps quickly and centers a live lake node on it. I have NO idea how to do this, but i find usually there is thankfully an answer for everything online:)

3 Likes

If only it were that easy. This forum has not option to watch a thread. The auto-watching “forgets” that you were in a thread after a few days.

@antoripa Feel free to spam me via pm once the asset gets released :smile:

1 Like

Actually it is (kind of). Just surf from time to time on that url, it’s always up to date :

https://forum.unity.com/watched/threads

Alerts are buggy as hell on the other hand.

Hope it helps.

3 Likes

Happy to provide integration between Cascade and Landscape Builder. Let us know when you have a beta to test with.

2 Likes

6 Likes

Few quick comments regarding the package:

  • Under EarthShaping/Framework v1.0/Resources is a few internal UI textures and fonts? I don’t want these built with my project so they should not be in a resources folder.

  • MinMaxRange seems to be conflicting with my non-namespaced MinMaxRange even though yours appears to be name spaced? I had to include the full namespace for all instances of MinMaxRange in RiverPath.cs & CascadeWindow.cs to compile (change from MinMaxRange to com.earthshaping.Framework.DataStructure.MinMaxRange). I realize that I “should” be namespacing my structures but this could cause issues for others if they don’t know how to work around the problem.

  • The demo scenes leave a lot to be desired. They need A LOT of love in regards to camera placement and lighting. Not to mention they have realtime + baked illumination checked so my computer starts chugging away as soon as I open the scene. This also causes issues with the water looking black if the scene has not finished baking which is especially apparent in the lake scene. Once I disabled realtime & global GI the water color looks much better. Here are some other comments that are scene specific:

  • “lake” camera is at 0,0,0 looking at the edge of the terrain, you can see no water.

  • “largeWaterfall” camera shows the waterfall in the left of the screen, but you can’t see any of the river or detail of what is happening in the canyon.

  • “scene” camera is looking almost perpendicular to the river, would be nice to see more of the river since the section we can see is small comparatively. Also has a missing script on the RiverPathCamera

  • “scene2” camera is at 0,0,0 again looking at nothing. MainCamera is also missing a script.

  • “smallRiverCascade” camera is at 0,0,0 also looking at nothing.

  • 9 warnings in 2017.3 in a number of scripts; while they are benign they will likely leave a bad first impression (see image below).

1 Like

Thanks a lot for reporting that,
We are aware of that as something was wrong during our testing process.
We have already pushed version 1.0.1 clearing all the issues reported and a lot of improving.
If you prefer, you can send me a PM with your invoice number and tomorrow I can share 1.0.1
Thanks a lot again