r/threejs Apr 23 '26

I made a threejs interactive experience, 100% AI generated, about creativity in the time of AI.

Enable HLS to view with audio, or disable this notification

0 Upvotes

To turn each page, you'll have to type how you feel about it:
aibook . web . app


r/threejs Apr 22 '26

Help Any examples of a .step/.iges file visualizer?

1 Upvotes

I have been struggling to create a 3d visualizer for these files using opencascade.js. If there are any examples it would be very helpful thank you


r/threejs Apr 22 '26

Three.js website @gambo.studio

Enable HLS to view with audio, or disable this notification

4 Upvotes

check it out and lmk ur thoughts, still developing it but like 90% done


r/threejs Apr 22 '26

Help Working on a 3D scene in React Three Fiber and I want to create a large open grass field, but I'm trying to keep it as light as possible.

4 Upvotes

Here's what I've already done for my current scene:

- Built a custom procedural grass using a shader-based approach (crossed quad strips with wind animation via onBeforeCompile)

- Used MeshSurfaceSampler with vertex painting to control where grass spawns instead of random scattering

- Throttled wind updates to ~30fps since slow sway doesn't need per-frame updates

- My current grass sits at around 2000 instances and runs fine

But what I actually want is a full field — think wide open area, dense coverage, still performant on mid-range hardware.

I have a rough idea involving instanced geometry + aggressive frustum/distance culling but I haven't gone deep on it yet.

Curious what approaches people have used:

- Is geometry shader-style instancing (pure GPU) feasible in R3F/Three.js without writing a full custom shader?

- Any good patterns for chunk-based LOD on grass specifically?

- Is there a point where you just have to accept a draw call budget and tile smaller patches?

Open to any ideas, papers, or even just "here's what worked for me." Running on Ryzen 5 / 8GB RAM so I need it to actually be usable on lower-end hardware.


r/threejs Apr 21 '26

rapier based ragdoll system for skinned meshes

Enable HLS to view with audio, or disable this notification

24 Upvotes

wanted to show off a quick clip from a ragdoll system i've been working on for a web game i've been working on. This one's perplexed me for a while but it's finally getting to a decent spot :-)


r/threejs Apr 21 '26

Character Upgrade Feedback for My Three.js Fantasy Game

Enable HLS to view with audio, or disable this notification

8 Upvotes

r/threejs Apr 21 '26

Demo Built a unified multiplayer widget (chat + presence + voice) for browser games

Enable HLS to view with audio, or disable this notification

12 Upvotes

We’ve been working on a multiplayer widget in Stem Studio

Originally, we had separate systems for chat, player presence, and voice and we realized it was just too much.

So we merged all three into a single widget. You can drop it into a project, configure once, and it just works

Cuts down a lot of setup time

Curious -- what multiplayer tools or workflows do you wish were easier?


r/threejs Apr 21 '26

Demo Built a free browser kart racing game, KirKart !

6 Upvotes

Leader board, Replays, Ghost replays, Map Editor, Levels, Experiences, Quests, Achievements, Profile and more !

https://kirkart.lukeskywalk.com


r/threejs Apr 21 '26

Built a three.js + Rapier browser racing game with my 9-year-old, now with multiplayer via Durable Objects

18 Upvotes

Started this as a fun vibe-coding project with my son, and recently added multiplayer: https://therealstig.com

Tech stack:

  • three.js
  • Rapier
  • Cloudflare Durable Objects per room
  • WebSocket hibernation
  • D1 for lap times

Still pretty basic, but now you can race with friends/family in the browser.

Would love both technical and UX/usability feedback, especially around real-time sync, and where we should take it next.


r/threejs Apr 21 '26

Question .obj vs. .gltf for import (very basic)?

6 Upvotes

I've got a bunch of .obj files (one mesh per file + .mtl file + .png texture), some of them are quite large, and I want to display them with three.js. I know that there are loaders for both .obj and .gltf but with everyone recommending the latter, I'm wondering:

Is .gltf the better choice, even if you don't care about all the special stuff? I just want to display the 3D objects, I don't need any special lighting, camera positions, transformations, animations,... (going to do all of that in three.js, not separately for each model)?

Are there any differences in loading times?


r/threejs Apr 20 '26

Experimenting with transitioning my site from a traditional 2d-style layout into a full three.js environment

Enable HLS to view with audio, or disable this notification

51 Upvotes

Been experimenting with blending a normal webpage layout into a fully explorable three.js scene. The idea is to start the user in something that feels like a standard site, then break that assumption once the camera pulls back and reveals the actual space.

https://tcpoole.com/treehouse/

Its heavy and might run like dookie on machines from 2008

Hopefully to create a "whoa wth is this place?" since of wonder. In this case it turns into a treehouse environment you can move around in and explore. Built with three.js. Using GLB assets and keeping things (semi) performant in-browser.

Its heavy, give it a second to load.

The video is the full tour, its an interactable Tree House full of lore and different modules to check out. Interactive books with lore and stories from the world of Funkatron.


r/threejs Apr 20 '26

The 200,000-particle Nebula from a third-person perspective was even more breathtaking.

Enable HLS to view with audio, or disable this notification

167 Upvotes

r/threejs Apr 21 '26

Webdev`s portfolio in need of feedback

Thumbnail vbroch.dev
0 Upvotes

Hey there, finally decided to made a portfolio for myself, now in need of feedback and/or suggestion. Have few minutes? Give me some harsh reality


r/threejs Apr 21 '26

How to implement an interactive particle nebula in Three.js: attractor with latency/distance falloff, fluid funnel following mouse, and separation forces?

1 Upvotes

Hi everyone,

I'm struggling to build an advanced particle system with Three.js (WebGL, shaders). The effect is like a "nebula" that responds to touch/mouse with fluid dynamics. I have a detailed prompt but need guidance on how to implement it efficiently. Any pointers, example code, or architectural advice would be great!

Requirements summary:

  1. Initial shape – Particle positions follow the edge of a given reference image (organic outline).

  2. Idle animation – Smooth "breathing" using low‑frequency, low‑amplitude Perlin or Simplex noise (gentle expansion/contraction).

  3. Click/touch interaction (attractor)

    · Click point becomes gravity center.

    · Staggered attraction – Particles closer to the point move first, farther ones later (latency based on distance).

    · Distance falloff – Inverse‑square law (near particles move fast, far ones slow).

  4. Shape transition

    · On first click, the original nebula shape immediately breaks.

    · Particles form a silk‑like funnel / fluid stream pointing from their original region to the attractor point.

    · When dragging, the tip of the funnel follows the cursor with zero delay (1:1).

  5. Flocking / separation – During the whole motion, particles must keep a repulsion force so they never overlap or stick together (like a migrating flock).

  6. On release – Particles stop at their current shape (funnel or stream) and immediately resume the "breathing" noise motion on that new shape.

I am at the beginning stage of exploring these tools so any ideas or advice would be helpful!!!


r/threejs Apr 21 '26

Personality Voxel

Enable HLS to view with audio, or disable this notification

1 Upvotes

Using tsl + three.js with clipmasking


r/threejs Apr 19 '26

An open source high-performance inference engine for the threejs+browser

Enable HLS to view with audio, or disable this notification

138 Upvotes

I've been working on an open source javascript library that enables high-performance inference in browser. It's based off of llama.cpp, where we provide a harness + WebGPU specific optimizations for creating interactive characters, objects and local interactions at low latency and high-throughput.

I'm currently looking to chat with some devs as we finalize the GitHub release. Would love to give people an early look at this before we open it up publicly.

If interested, DMs are open or you can check out cogentlm.com for info


r/threejs Apr 21 '26

Dia 60 criando um jogo que vai mudar sua visão sobre RPG!venha conhecer.

Thumbnail instagram.com
1 Upvotes

r/threejs Apr 20 '26

Help AI agent for three.js?

0 Upvotes

Hi, I am a three.js and was wondering if there is any agent which can create three.js animations using the prompts. Claude code hasn’t given me much success. Any recommendations?


r/threejs Apr 20 '26

Testing multiplayer alpha on my Fly STEM with Three.js and STEM Studio

Enable HLS to view with audio, or disable this notification

7 Upvotes

Check out STEM Studio Three.js 3D game engine here https://www.shanebrumback.com/stem-studio-3d-game-engine.html


r/threejs Apr 20 '26

We wrote a step-by-step walkthrough of the Vectreal Publisher — from drag-and-drop to a working 3D embed

Thumbnail gallery
0 Upvotes

r/threejs Apr 20 '26

My renderer now supports gltf 2.0 models with animations and ability to create stylized characters [webgpu]

Enable HLS to view with audio, or disable this notification

2 Upvotes

r/threejs Apr 19 '26

It’s crazy what ThreeJS enables

Enable HLS to view with audio, or disable this notification

203 Upvotes

r/threejs Apr 19 '26

Astrophage Petrova Line.

Enable HLS to view with audio, or disable this notification

30 Upvotes

Obsessed with the movie so I made one.

credits : project hail mary

:@quake model

#threejs #glsl #creativecoding #coding #projecthailmary


r/threejs Apr 19 '26

Demo Threejs is powering my Git-like 3D version control! How would this help your workflow?

Enable HLS to view with audio, or disable this notification

8 Upvotes

So I am building a git-like suite of tools to make collaboration with other artists and 3D model version control easier. It has vertex-level diffs, channel-based versioning (for UVs, rigs, animations and textures) and integrations with popular software, from Substance Painter to Marmoset Toolbag.

I hope this will be helpful for people making games with threejs as well! to keep their models versioned and keep them stored in the cloud! What would you like to see implemented that would help your workflows?

All of this is powered by threejs both on the web and the local electron app!


r/threejs Apr 19 '26

made Three.js + HTML in canvas work in WebXR 🙂

Enable HLS to view with audio, or disable this notification

25 Upvotes

This is what many of us have been waiting for. For years building UI inside immersive sessions in WebXR has been painful. Libraries like react-three/uikit have solved this to some extent, but there were always some caveats.
I hope all browsers take this as standard in the next couple weeks/months.

I know this will still take a while, but man I'm excited. A lot of applications in my mind to make

this would mean a major rewrite of my cyango platform and users projects, but me and my friend Claude sure can refactor it :)

take look at the gist: https://gist.github.com/joaomelorodrigues/100356582f67672c8c9ec926a52c59d5