Skip to content

[Reviewed][3D Water] Add a Style list with 9 styles, edge foam, depth fade and underwater tint (v0.2.0) - #2343

Merged
Bouh merged 2 commits into
mainfrom
Water3D-styles
Nov 2, 2026
Merged

Bouh merged 2 commits into
mainfrom
Water3D-styles

Conversation

@Bouh

@Bouh Bouh commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Summary

3D Water 0.2.0 adds 9 styles, chosen in a list with the new Style property of the object. They are ported from the WaterShader extension of the Water Showcase template: Realistic Water, Ocean Water, Fast Ocean Water, Cartoon Water, Pixel Water, Cel Shaded Water, Lava Flow, Pixel Magma and Toxic Slime.

  • The Style property is a select list of the styles (default style first). The rendering code of every style is in the extension (DefineHelperClasses, group "Styles"), and changing the style in the editor rebuilds the material.
  • Every effect works with every style, the default one included: foam around the objects crossing the surface (from a depth pass), depth fade, underwater tint, pixel art, bubbles and crest foam. An effect is off when its amount is 0.
  • New properties: style, deep water color, foam color, pattern scale and speed, foam width, intensity and speed, underwater tint, water density, pixel size, animation frames per second, bubble intensity and sharp reflections.
  • Backward compatible: no property is removed and no default value changes. The new effects are off by default, so existing water objects look the same.

Store assets

One asset per style, in GDevelopApp/GDevelop-assets#727: like the 3D terrains, each asset is a Water3D object with its style selected in the Style property, and the property values that turn on the effects of this style.

{
  "name": "3D Water",
  "tag": "3d water",
  "categories": ["background"],
  "description": "Ready-to-use 3D water surfaces: realistic, ocean, fast ocean, cartoon, pixel art and cel-shaded water, lava, pixel magma and toxic slime. Each one is a style of the 3D water object, with foam around objects, depth fading and an underwater tint. Resize them to cover a sea, a lake or a river, and make objects float on them."
}

The ids, assetStoreId and requiredExtensions are left empty: the asset generator computes them. The required extension has no minimum version, so the assets must be deployed after this version of the extension is published, or the objects would be installed without the Style property.

Testing

  • node scripts/check-single-extension.js Water3D passes (the build errors left are in A3F and FoliageSwaying3D, already on main).
  • Gameplay tests in a copy of the Water Showcase template: each object draws the material of its style with the waves and the depth fade, the default style keeps the default material, changing the style rebuilds the material, the lava lights the scene, the underwater tint only shows under the surface, and there is no console error.
ocean-water pixel-magma pixel-water realistic-water toxic-slime cartoon-water cel-shaded-water default fast-ocean-water lava-flow

@Bouh
Bouh requested a review from a team as a code owner November 1, 2026 20:39
@Bouh
Bouh merged commit 0b34961 into main Nov 2, 2026
5 checks passed
@Bouh Bouh changed the title [Reviewed][3D Water] Add 9 styles as variants, edge foam, depth fade and underwater tint (v0.2.0) [Reviewed][3D Water] Add a Style list with 9 styles, edge foam, depth fade and underwater tint (v0.2.0) Nov 2, 2026
@Bouh
Bouh deleted the Water3D-styles branch November 2, 2026 10:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant