wave-harmonic / crest

A class-leading water system implemented in Unity
MIT License
3.48k stars 480 forks source link

Water Surface Wavelets (SIGGRAPH 2018) #17

Closed Midda-C closed 6 years ago

Midda-C commented 6 years ago

This isn't an issue, or necessarily a feature request, I just thought it might be worth putting here.

You may already be aware of this, but I just came across this cool looking work presented at SIGGRAPH 2018.

https://www.youtube.com/watch?v=6I6BV0-BVxI

I know you've already been experimenting with similar stuff in the local_sim branch, so I thought this might be helpful? Things I found particularly cool were the pre-computed boundaries, wake reflecting, and the ability to paint in flow directions, either for currents or things like whirlpools (which would be very useful in our project).

The video description has links to the project page for the actual papers and whatnot.

huwb commented 6 years ago

Thanks. Yeah I've seen that but I didn't have it referenced, I'll add to the readme.

From the abstract:

The current state of the art in real-time two-dimensional water wave simulation requires developers to choose between efficient Fourier-based methods, which lack interactions with moving obstacles, and finite-difference or finite element methods, which handle environmental interactions but are significantly more expensive

The latter problem is exactly what Crest is designed to solve - it does simulation on multiple scales (view dependent) to get interactions while keeping it efficient. The local_sim branch needs more work to see how much detail we can get in the sim results. I'm not sure it will get the results of directly applying a normal map which is really detailed though. I'll think about what might work here.

Yeah I've been thinking about incorporating flow. i definitely think this can be incorporated into crest, perhaps with a world aligned wind velocity texture. I've added it to the improvement directions.

Finally, there is a lot of flexibility to do things like add custom shape shaders to achieve different effects, such as whirlpools. It would be interesting to hear more about your requirements, whatever you can share of course. I obviously need to make sure i focus on core crest features but I can easily give recommendations or do simple examples of bespoke shape if that is useful. My email is on the readme in case that is a better medium for that type of thing. I'll leave it up to you anyway.

Midda-C commented 6 years ago

Thanks! Yeah, it's looking like we'll be moving forward with Crest for our project now, so we'll almost certainly give you some more detailed info about our project and what our aims are (via email most like, as we're currently unannounced).

Thanks again!

lecopivo commented 6 years ago

Hey, I'm one of the authors of the paper. If you decide to incorporate it to crest I'm more than happy to answer any questions you might have.

huwb commented 6 years ago

Thanks for reaching out lecopivo! Very nice work with this technique. I will put aside some time to review and let you know if I have questions.