Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposed RFC Feature =Water Gem/Infinite Ocean= #22

Open
ghost opened this issue Nov 9, 2021 · 6 comments
Open

Proposed RFC Feature =Water Gem/Infinite Ocean= #22

ghost opened this issue Nov 9, 2021 · 6 comments
Labels
rfc-feature Request for Comments for a Feature

Comments

@ghost
Copy link

ghost commented Nov 9, 2021

Originally in the Lumberyard engine there was an "Infinite Ocean" gem that could be piggy-backed on a game project making it possible to surround your terrain with water. The gem was very useful and provided a quick way to add water volume in the game environment. It is also one of the most important aspects of our game development for our studio.

We feel that continuing with O3DE would bring back those features where we left off in Lumberyard. However, in speaking to different representatives from AWS/O3DE development team we were informed to create an RFC with a proposal to bring back this feature that we feel is necessary.

The features we had in mind surrounding the Infinite Ocean/Water Gem are,

  • Advanced rendering of waves and foam using a complex water shader driven by heightmap, animated normal map and foam created where the water volume intersects the terrain.
  • Inside the water the shader transformed there is a post processing effect of rays of light that always are directed towards the main light source of the map/level.
  • The water gem/infinite ocean below its surface provides us with light diffraction effect and blurriness. Additionally the same effect provides also a distortion of the environment image in line with how the waves are moving (left and right).

  • The ability through a variety of properties easily accessible to steer the amount of waves, the size of waves and the speed of waves.
  • The ability through the Material Editor to bring up specific water-volume properties (see screenshot below).

The old Lumberyard documentation is located here.

The old "Water" gem was located for example under, C:\Amazon\Lumberyard\1.28.0.0\dev\Gems\Water and is a code-based gem that has some integration to the editor,

I made an attempt to convert it over on my own but it refers to "OceanConstants.h" "OceanEnvironmentBus.h" and "I3DEngine.h". While the first two are a non-issue to bring over, the "I3DEngine.h" is referring in its turn to "CryThreadSafeRendererContainer.h" which has been disposed by the Core team, as Atom replaces modules in the engine. However, looking at the old code, it is just basic functionality and someone with Atom-engine knowledge should be able to nail this core-engine class conversion to suit Atom's needs.

Underwater Effects Video:
Watch the video

@ghost ghost added the rfc-feature Request for Comments for a Feature label Nov 9, 2021
@ghost
Copy link
Author

ghost commented Nov 9, 2021

@wintermute-motherbrain @superkitcath @chanmosq @forhalle @HeadClot

Converted old Water Gem/Infinite Ocean to RFC here

@HeadClot
Copy link

HeadClot commented Nov 10, 2021

Oh neat! Thank you for converting it into an RFC :)

@wintermute-motherbrain
Copy link
Collaborator

sig-graphics-audio has accepted this RFC. @NiklasHenricson your team will likely lead the effort but the sig has guaranteed to provide support resources to provide assistance. We propose that we start with communication through discord to coordinate the effort and would encourage booking separate meetings specifically for this effort which sig members can attend. Meeting organization can also be coordinated via discord. @antonmic and @santorac are both interested in offering up guidance from the feature level.

@ghost
Copy link
Author

ghost commented Nov 17, 2021

sig-graphics-audio has accepted this RFC. @NiklasHenricson your team will likely lead the effort but the sig has guaranteed to provide support resources to provide assistance. We propose that we start with communication through discord to coordinate the effort and would encourage booking separate meetings specifically for this effort which sig members can attend. Meeting organization can also be coordinated via discord. @antonmic and @santorac are both interested in offering up guidance from the feature level.

Thank you and roger that. I'll break down the effort and estimate how long it'll take us to look into converting it.

@tonybalandiuk
Copy link

@NiklasHenricson mentioned this issue to me during the 22.05.0 retro (o3de/sig-release#59) . Wanted to check in to see where this is at? could someone provide an update? Thanks

@rgba16f
Copy link
Contributor

rgba16f commented Jun 15, 2022

@NiklasHenricson It looks like the end of the discussion here you committed to investigating how long it would take you to convert the feature over to o3de?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rfc-feature Request for Comments for a Feature
Projects
None yet
Development

No branches or pull requests

4 participants