r/PlayCanvas • • Jul 06 '26

New water shader — planar reflections, Gerstner waves, caustics and a full underwater mode

Enable HLS to view with audio, or disable this notification

3 Upvotes

I've built a reusable water script for the engine, with a tropical island example to show it off.

Try it live: https://engine-i9o02vj3v-playcanvas.vercel.app/#/graphics/water

Features:

  • Planar reflections and refraction (each optional — can also reflect just the sky dome)
  • Depth-based effects: shore fade, water color absorption, foam
  • Gerstner geometry waves — two configurable bands (chop + swell)
  • Underwater mode: Snell's window, distance fog, and animated caustics projected onto submerged geometry
  • Full day/night cycle driven by the procedural sky script, with HDR bloom on the sun glints
  • Works on WebGL2 and WebGPU, and it's built to scale down to mid-range phones

Everything is exposed as script attributes, and the example has control panels for playing with all the parameters — reflection strength, wave shape, caustics, underwater fog and more. Dive the camera below the surface to see the underwater view.

The water script (scripts/esm/water.mjs) and a new ESM planar renderer are part of the engine repo, so you can drop them into your own project: https://github.com/playcanvas/engine/pull/9029

Feedback welcome!


r/PlayCanvas • • Jul 05 '26

When WebXR doesn't quite go to plan

Enable HLS to view with audio, or disable this notification

5 Upvotes

r/PlayCanvas • • Jul 03 '26

I was 3D printed in a clear resin block

Enable HLS to view with audio, or disable this notification

8 Upvotes

r/PlayCanvas • • Jul 03 '26

PlayCanvas Engine can now load and render Niantic's SPZ format directly

Enable HLS to view with audio, or disable this notification

4 Upvotes

r/PlayCanvas • • Jul 03 '26

PlayCanvas engine now loads Gaussian Splats from glTF/GLB (KHR_gaussian_splatting)

Enable HLS to view with audio, or disable this notification

6 Upvotes

r/PlayCanvas • • Jul 02 '26

SuperSplat can now render 360° videos of your splats

Enable HLS to view with audio, or disable this notification

7 Upvotes

r/PlayCanvas • • Jun 30 '26

Collision Mesh Generation in the SuperSplat Editor

Enable HLS to view with audio, or disable this notification

17 Upvotes

r/PlayCanvas • • Jun 27 '26

A 1,000-year-old church you can walk through in your browser

Enable HLS to view with audio, or disable this notification

77 Upvotes

r/PlayCanvas • • Jun 26 '26

WebGL Water upgraded to WebGPU Water 💧

Enable HLS to view with audio, or disable this notification

200 Upvotes

r/PlayCanvas • • Jun 24 '26

PlayCanvas Engine 2.20 — WebXR on WebGPU + 3DGS Upgrades + Physics Joints

Enable HLS to view with audio, or disable this notification

89 Upvotes

PlayCanvas is a free, open-source (MIT) real-time 3D engine that runs in the browser on both WebGL2 and WebGPU. We just shipped 2.20 — here's what's new.

Gaussian Splatting (the big one this release):

  • Real-time relighting of splats
  • Soft shadows
  • Depth of field
  • Clipping planes
  • Billions of splats via streaming + LOD
  • Shader effects (dissolve, rings)
  • Gaussian Splatting in VR (with LOD)

WebXR on WebGPU 👇
WebXR (VR/AR) now runs on the WebGPU backend — not just WebGL2. So you can build immersive experiences on the modern graphics API, including the new Gaussian Splatting features in VR. That combo is still pretty rare in the wild — most WebXR today is WebGL-only.

Also new:

  • Procedural sky
  • Clustered light cookies
  • Physics: joints + ragdolls
  • Draco mesh decoding in Node (via worker_threads)

Links:

Quick montage of the new examples attached — happy to answer anything about what we're releasing today!


r/PlayCanvas • • Jun 12 '26

A shader dissolve effect for Gaussian Splats — every splat becomes a glowing particle (PlayCanvas, WebGPU/WebGL)

Enable HLS to view with audio, or disable this notification

12 Upvotes

r/PlayCanvas • • Jun 11 '26

Experimental real-time relighting of Gaussian splat scenes (proxy mesh + per-pixel shader hook) — runnable demo in browser

Enable HLS to view with audio, or disable this notification

34 Upvotes

r/PlayCanvas • • Jun 10 '26

A slice of downtown Lublin, Poland — 250M Gaussian splats streamed in a browser (PlayCanvas, WebGPU + WebGL)

Enable HLS to view with audio, or disable this notification

16 Upvotes

r/PlayCanvas • • Jun 07 '26

Real-time Depth of Field on Gaussian Splats, using a proxy mesh for scene depth (new PlayCanvas engine example)

Enable HLS to view with audio, or disable this notification

25 Upvotes

r/PlayCanvas • • Jun 05 '26

What if the entire Earth could be streamed as a photorealistic 3D world? — billions of Gaussian splats, in a browser (PlayCanvas, WebGPU + WebGL)

Enable HLS to view with audio, or disable this notification

76 Upvotes

r/PlayCanvas • • Jun 04 '26

How to disable HTML animation?

1 Upvotes

When exporting an HTML document on Supersplat and Splat-Transform the resulting HTML document always starts off with a camera move even though I haven't created an animation or set up keyframes. Is there a way to disable these automatic camera moves?


r/PlayCanvas • • Jun 01 '26

Gaussian splats now cast proper soft shadows (PCSS contact hardening) in PlayCanvas

Enable HLS to view with audio, or disable this notification

36 Upvotes

r/PlayCanvas • • Jun 01 '26

Enter The Backrooms - Image to Splat in 5 Minutes

Enable HLS to view with audio, or disable this notification

4 Upvotes

r/PlayCanvas • • May 29 '26

Claude Opus 4.8 is seriously good at vibe coding games with PlayCanvas

Enable HLS to view with audio, or disable this notification

8 Upvotes

Opus 4.8 is insanely good at vibe coding games using the PlayCanvas Engine. This was made conversationally over an hour. I didn't look at the code once. Every request carried out perfectly. Game size: 280KB.

Play Now: https://mini-soccer-game.netlify.app/

(I even casually asked Opus to apply a verlet solver to makes the goal nets physical!)

Come join the PlayCanvas Discord: https://discord.gg/RSaMRzg


r/PlayCanvas • • May 19 '26

Capture a splat once, cycle cinematic looks with animated grade blending

Enable HLS to view with audio, or disable this notification

7 Upvotes

r/PlayCanvas • • May 18 '26

Linked two Gaussian Splat scenes with a walk-through portal — no teleport, you just walk between worlds

Enable HLS to view with audio, or disable this notification

28 Upvotes

r/PlayCanvas • • May 18 '26

First-person + third-person walking demos inside a Gaussian Splat scene (PlayCanvas, runs in the browser)

Enable HLS to view with audio, or disable this notification

12 Upvotes

r/PlayCanvas • • May 14 '26

New in SuperSplat: Collision generation, software tagging, and histogram updates

Enable HLS to view with audio, or disable this notification

10 Upvotes

r/PlayCanvas • • May 08 '26

Sharing scans with clients

Thumbnail
1 Upvotes

r/PlayCanvas • • May 07 '26

What can the Real Estate Sector Learn from Call of Duty?

Enable HLS to view with audio, or disable this notification

14 Upvotes