r/PlayCanvas

▲ 603 r/PlayCanvas+1 crossposts

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

I wanted to see if you could connect two Gaussian Splat scenes through a portal you can physically walk through — no teleport, no cut, just continuous motion between two captured environments. Turns out it works pretty cleanly.

Runs entirely in the browser (WebGL2 / WebGPU), built in PlayCanvas.

Try it live: https://engine-8q342hfzj-playcanvas.vercel.app/#/gaussian-splatting/splat-portal

A few things I liked about how it came together:

  • Two LOD-streamed splat scenes (a Roman parish + a skatepark), seen through a stone archway acting as the portal.
  • Crossing the portal plane swaps which world you're "in" — and the same physics works symmetrically from either side, so you can walk back the way you came.
  • The world you're in stays fully visible around you; the other one only shows inside the portal opening, with a proper "window" feel (no peek-around clipping).
  • Subtle translucent glass inside the opening picks up specular highlights from the environment.
  • The skatepark side has its own weather — procedural snow that's only visible while you're actually there (or peeking through).

Source for the example (PlayCanvas engine repo): https://github.com/playcanvas/engine/pull/8738

u/MayorOfMonkeys — 4 days ago
▲ 294 r/PlayCanvas+1 crossposts

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

I just landed two new examples in the PlayCanvas engine that let you walk around *inside* a real Gaussian Splat scan — both first-person and third-person, with proper collision against the scene.

### Try them yourself

- 🚶 First-person walk: https://engine-cmbu8r47z-playcanvas.vercel.app/#/gaussian-splatting/first-person

- 🕺 Third-person with animated character (press **Q** to dance): https://engine-cmbu8r47z-playcanvas.vercel.app/#/gaussian-splatting/third-person

Controls: **WASD** to move, **Shift** to sprint, **Space** to jump, **Mouse** to look / orbit, **Scroll wheel** to zoom (third-person only).

### What's in it

- A new reusable **third-person camera controller** (`scripts/esm/third-person-controller.mjs`) modelled after the existing FPS controller. Handles:

- Orbit camera with mouse + gamepad + touch

- Wall-collision avoidance via raycast, smoothed so it doesn't pop

- Scroll-wheel zoom (smoothed, clamped)

- Configurable initial pitch, min height above character, look invert, sensitivity, damping for every axis

- Fires `speed` (0/1/2 → idle/walk/jog) and `jump` events that consumers wire into an anim state graph — no coupling to the anim system

- First-person example: capsule character + `FirstPersonController`, jumps, sprints, walks the gsplat

- Third-person example: bitmoji character, full anim state machine (idle / walk / jog / jump / dance) driven by the controller events, env-atlas IBL ambient (skybox layer disabled so the splat is the visible background), shadow catcher that follows the character on the ground via a downward raycast

### How the collision works

The "ground" is the Gaussian Splat (visual only), and physics happens against a hidden mesh GLB loaded alongside it:

- The collision mesh was **generated directly from the splat** using **splat-transform**.

- Then simplified down to **~1 MB** with https://polyforge.xyz/optimize so Ammo's BVH builder can handle it (huge meshes will OOM the WASM heap).

### Credits

Huge thanks to **zeitgeistarchivescans** for the gorgeous *Sunnyvale Heritage Park Museum* scan (CC BY 4.0):

https://superspl.at/scene/d5d397aa

### Source / PR

https://github.com/playcanvas/engine/pull/8736

u/MayorOfMonkeys — 4 days ago
▲ 42 r/PlayCanvas+1 crossposts

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

Been playing with color grading on Gaussian splat scenes in PlayCanvas — and it’s one of those small features that changes how you show work to people.

You capture a space once. Then you can try different color grades (the same kind of “film look” you’d use in photo/video tools) and blend between them in real time — warm, cool, moody, punchy, whatever. No new scan, no re-exporting the scene.

There’s also an animate mode that crossfades from one grade to the next on a loop, which is great for demos, social clips, or just finding what you like.

Why it clicked for me with splats: the splat render is basically the final image. Tweaking the grade feels like relighting the whole place, not tweaking materials on a few objects.

Ty it here: https://engine-6aa0sm3gy-playcanvas.vercel.app/#/gaussian-splatting/lut-grading

u/mvaligursky — 3 days ago
▲ 71 r/PlayCanvas+1 crossposts

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

Hi everyone! Three big SuperSplat upgrades shipped today! 🚀

🧱 One-Click Collision Generation
We've wired the SplatTransform 2.0 collision pipeline directly into SuperSplat Studio's backend. Open your splat, head to the Assets panel and hit Generate. Pick from Indoor, Outdoor or Object presets and Studio takes care of the rest. Walk-ready splats in seconds, no command line required.

🛠️ Software Attribution
You can now tag your splats with the software you used to make them, choosing from a curated catalog including Brush, Postshot, LichtFeld Studio, RealityScan, KIRI Engine, Luma, Polycam and more. Click any logo chip on a scene page to discover other splats made with the same tool - a great way to find new creators and learn techniques.

📊 GPU-Powered Histogram
The SuperSplat Editor's Data Panel just got faster and smarter. The histogram is now GPU-driven, computing per-property statistics across millions of Gaussians in milliseconds, even on modest hardware. You can also drag a range directly on the histogram to select splats by position, color, scale, depth, opacity, surface area, orientation and more - isolating the splats you care about with a single drag instead of nudging sliders.

Try SuperSplat → https://superspl.at/
Read the full announcement → https://blog.playcanvas.com/new-in-supersplat-software-attribution-collision-generation-and-histogram/
Join the SuperSplat community on Discord → https://discord.gg/RSaMRzg

Thanks to the awesome Stéphane Agullo for the splat used in the video!

u/MayorOfMonkeys — 8 days ago
▲ 4 r/PlayCanvas+1 crossposts

Sharing scans with clients

hi,

I'm looking for solutions to share or embed GS scans to clients or their website.

any suggestions, services etc.

thanks

reddit.com
u/Xubis420 — 14 days ago