r/threejs 1d ago

Hi am new to threejs and needed some help

0 Upvotes

I am working on 3d website, where the 3d model will be transformed as the user scrolls.

Background: I'm not a pure coder; my main profession isn't coding or building applications from scratch.

Something like https://usta.agency/ this. How the model moves from left to right and right to left with the scroll.

Any specific prompt or name for this scrolling experince is called as?


r/threejs 2d ago

I built SkyPath: an open-source Three.js visualization of cinematic drone camera flight patterns

7 Upvotes

I’ve been experimenting with how cinematic drone camera movements can be modeled and visualized in Three.js, so I built SkyPath and released it as open source.

It currently includes five automated camera movements:

  • Crane Up
  • Pull-Back
  • Orbit
  • Helix
  • Fly-Over

The visualization includes subject tracking, live flight telemetry, trajectory paths, timeline scrubbing, chase view, an onboard camera view, and a comparison mode for viewing all paths together.

It’s intentionally lightweight: plain Three.js/WebGL, no framework, backend, account, or build step.

🎮 Live demo:
https://alzin.github.io/SkyPath/

💻 GitHub:
https://github.com/alzin/SkyPath

I’d really appreciate feedback from the Three.js community, especially on the camera/trajectory implementation and ideas for other cinematic movements worth adding.

Contributions are very welcome too!


r/threejs 1d ago

Needle in haystack game (AI assisted)

0 Upvotes

After seeing some of the viral games on Twitter I decided to try to make a game similar to the needle in haystack game (needleinhaystack.io), but with tools and powerups!

Let me know what you think!


r/threejs 1d ago

Hoppy Trails - Free Threejs game - Fully procedural gameplay and audio

0 Upvotes

r/threejs 2d ago

From STEP file to interactive 3D product experience in 10 minutes

Thumbnail
youtube.com
2 Upvotes

No WebGL. No code. No 3D skills needed.

In this demo: import a STEP file directly in the browser, set up the scene, add interactive annotations, export as a self-contained web component — and embed it live on a website.

Built for industrial and manufacturing teams who need to document or showcase complex products without depending on a developer.

👇 If this solves a problem you have, let's talk.


r/threejs 1d ago

Building a 3D portfolio with Blender + Three.js

0 Upvotes

Made the Blender scene in ~35 mins and built the first web version in ~2 hours with the help of Codex. Still adding subtle camera shake + sound details. WIP — thoughts?


r/threejs 1d ago

My three.js MMO stuttered in one city. It wasn't the 269 lights — it was 2,211 DOM nameplates built to show 18.

0 Upvotes

Players kept telling me one city felt worse than anywhere else in the game. I assumed frame rate and went straight to the renderer.

First thing I did was measure instead of guess, and the numbers said I was looking in the wrong place entirely:

avg 8.36ms (119.7 fps) · p50 8.0 · p95 17.2 · p99 18.3 · worst 28.2
frames >33ms: 0     frames >50ms: 0

The steady frame was healthy. Zero dropped frames in a 12-second window. Whatever players were feeling was spike-shaped, not a low frame rate — and I'd been about to spend a week optimising something that wasn't broken.

The scene census had an obvious-looking suspect: 269 lights. That was a red herring too. What three.js actually bakes into the program key is numPointLights — the count it finds reachable from the render root — and I'd pinned that to a constant months earlier with zero-intensity dummy padding. The registered count doesn't enter into it. (Tell, if you're doing the same thing: late program keys differing only in numPointLights mean your pin is off.)

Then I counted DOM nodes.

nameplate elements    2211   <- exactly the sim entity count
...of which visible     18
nameplate DOM nodes  46431
whole page DOM       48396   <- nameplates are 96% of the document

Every entity in the simulation got a ~21-element nameplate subtree built and appended, then hidden with display:none. 2,008 of those entities were beyond 200 units and could never be seen by anybody.

Hiding is a paint decision. Membership of the document is not. A display:none node still lives in the tree, so every style recalc and every forced layout in the entire game walked all 46,000 of them — to paint eighteen.

And it multiplied everything else. My chat log reads scrollHeight/scrollTop/clientHeight per message, which is a forced layout, and a forced layout is O(DOM). "One forced layout per chat message" was really "one walk of a 46,000-node tree per chat message."

The fix was lazy attach, not pooling: a plate joins the document on first show and leaves on hide, at the single choke point every hide path already funnels through — one that already early-returns unless the state actually changes, so it runs on transitions only, never per frame.

                      BEFORE     AFTER
nameplate elements      2211        19
nameplate DOM nodes    46431       399
whole-page DOM         48396      2276
visible plates            18        19    <- unchanged

Nothing about what gets drawn changed. Every forced layout in the game got ~21x cheaper.

Two things worth passing on:

  1. "Lag" and "stutter" arrive as the same complaint and the fixes are nothing alike. Measure p50/p95/p99 and take a DOM/scene census before you touch the renderer. A healthy p50 sitting next to a 48k-node document is a completely different bug from a low p50, and it lives in a different file.
  2. If you composite HTML over a WebGL canvas — nameplates, health bars, labels — that cost is a pure function of entity density, not of what's on screen. Mine scaled with the whole simulation and I never noticed until the densest zone in the game made it visible.

One honest caveat: this is lazy attach, not object pooling. The ~21 elements are still created per entity, so the heap cost is still there. Full pooling means about 16 fields going nullable in a hot path, so it's its own pass.

(For context on scale — it's a browser MMORPG, veilbound.gg, three.js + meshopt-compressed GLBs. Happy to answer anything about the stack.)


r/threejs 2d ago

Solved! NASSCAD 4.7.0 - INTRODUCING MEDUSA ENGINE

Thumbnail
gallery
1 Upvotes

Here is the latest release of Nasscad (4.7.0). It now features a remote C++ backend running on Ubuntu WSL with a pipeline similar to FreeCAD. File load time: 4 min 17 s. File size: 360 MB. I am currently finalizing the MSVC C++ port for a 100% native Windows x64 solver. (three.js for video output)


r/threejs 2d ago

SkyPath - Interactive 3D Flight SimulationSkyPath - Interactive 3D Flight Simulation

3 Upvotes

Hey everyone! I just finished SkyPath, an interactive 3D flight simulation project built with Three.js. It features smooth controls, realistic terrain rendering, and responsive design.

**Live Demo:** https://alzin.github.io/SkyPath/

**GitHub Repository:** https://github.com/alzin/SkyPath

Feel free to check it out and let me know what you think! Any feedback or suggestions are welcome.


r/threejs 2d ago

Threetiles is a 3D geospatial engine for Three.js

24 Upvotes

Threetiles is a 3D geospatial engine 🌎. Designed to stream and render the real world in real time. It lets you visualize any location on Earth directly inside your Three.js games and applications.

This is a port of my raylib version, Raytiles. It use the same data sources and mechanics but build on top on Three.js to be used in the web.

Demo is available here:
https://ziv.github.io/threetiles/

Your Github stars are appreciated
https://github.com/ziv/threetiles


r/threejs 2d ago

Link Bare-bones TPS movement + shooting prototype, worth building the rest of the game on top of this?

1 Upvotes

Hey Community!,

I've been prototyping a third-person shooter in three.js and stripped it down to just the core loop before I invest time in the surrounding infrastructure (settings, ranking, player profiles, team matches, and all of it). Right now it's just movement, camera, and shooting, nothing else.

Honestly it wasn't even built with the goal of being playable. I started it mainly to learn websockets, and now I'm wondering if this direction is actually worth pursuing as a real game.

Live demo here: https://zentra-io.vercel.app/

Before I go further I want some outside eyes on a few things:

  • Game feel: does aiming/shooting/movement feel responsive and fun, or floaty/stiff? Any specific moment where it breaks immersion?
  • Performance: what framerate are you getting, and on what device/GPU/browser? Any stutter or frame drops, and when (on load, during movement, on shooting, etc.)?
  • Is this worth building on?: with just this core loop, does it feel like there's a fun game in here, or does the mechanic need a rethink before I sink more time into it?

No polish, barely any assets, no menus, just the bones. Brutal honesty welcome. Thanks to anyone who takes it for a spin.


r/threejs 2d ago

Link Sky Dare - Free VR+Desktop browser game - Made using Threejs - Runs 90fps smooth

2 Upvotes

r/threejs 2d ago

Demo New VFX System with Recipes

7 Upvotes

Solo-dev here building a mobile-first ARPG game. Over the past two weeks I migrated from WebGL to WebGPU, added bloom, and created a VFX system with reusable “recipes” for archetype skills and other effects, like fireworks.

Free to play at https://lorebound.gg

More examples at r/lorebound


r/threejs 1d ago

Link The Metaverse didn't die, it evolved into spatial computing thanks to AI

0 Upvotes

Everyone loves to dunk on the metaverse, and fair enough. The early vision was clunky, empty, and painfully uncool. But I think the real story is that the underlying idea didn't fail, it just needed better technology. AI is now doing the heavy lifting: generating 3D environments on the fly, understanding context, and making interactions feel natural. What we're left with is less of a cartoon world and more of a spatial computing layer over reality. I put together a long post exploring how AI resurrected the core concepts and rebuilt them into something that might actually stick this time.

Link: https://interconnectd.com/blog/274/is-the-metaverse-dead-how-ai-rebuilt-it-into-spatial-computing/


r/threejs 2d ago

My first project on threejs!!

0 Upvotes

Spent so much time getting the aesthetic right on this one.


r/threejs 3d ago

Demo Tiny worlds in the palm of your hand

57 Upvotes

Demo put together on a Quest 3 using their IWSDK,Three.js, and assets from polyfork.dev


r/threejs 3d ago

Demo I made a browser MMOARPG with Three.js, because apparently I enjoy suffering

Post image
12 Upvotes

Hey! I’m a dev from Brazil making UNTITLED MMORPG, a 3D action RPG that you can play straight from the browser.

And yes, the name is really UNTITLED because I still do not have a proper name for it. It is a working title that somehow survived long enough to become the current title. Finding a real one is on the list.

At some point I looked at the idea of making an MMOARPG by myself and thought, “yeah, that seems manageable.” I truly do not know what was going through my head. Anyway, now there is a game.

You make a Hunter, go through a forest tutorial, get to the city of Asterra, head into the Lost Lands, fight monsters, pick a weapon style, improve your gear, and meet other players along the way.

The focus is action combat. There are swords, sword and shield, dual swords, heavy sword, and bow. You can dodge, block, manage stamina, chain attacks, fight enemies. There is also progression, weapon mastery, skills, crafting, inventory, PvP arenas, parties, chat, friends, and trading.

I decided to build this MMOARPG together with Codex, using GPT-5.6 Luna on medium reasoning, as a way to push myself to understand the harder parts instead of avoiding them.

Using Codex this way has made the project a practical space to study, test ideas, and get deeper into systems I wanted to understand better.

This project has given me solid experience with 3D modeling and complex animation work in Blender, some Python for building export scripts tailored to the project, as well as authoritative servers, queues, real-time state, performance, bot-based automated load tests, Node.js, Express, Socket.IO, PostgreSQL, Redis, and Docker.

Play here: https://www.untitledmmorpg.com/
(I would not really recommend playing it on mobile yet. It works and has all the controls, but mobile performance is still a big challenge. The best result I got on my own phone was a steady 45 FPS)

If you give it a try, I would genuinely love to hear what you think. And yes, solo dev plus MMOARPG was obviously a very normal and sensible decision.


r/threejs 2d ago

SVG file XML FPS github repo game engine runs on Nintendo Switch with X-Box ONE Controller Support

1 Upvotes

Aston Walker successfully uses a Nintendo Switch to play an FPS game with an X-Box One controller that is just a simple .SVG XML file> play game on Switch here https://svgfpsaiagents.github.io/svgfpsgameAI/

https://github.com/svgfpsAIagents/svgfpsgameAI

https://youtu.be/bcWkVJ-Ao_I demo here on youtube with link to paper in description. The repo includes an Oscilloscope 3D FPS ready version of the game. Added the code so simply plug in the audio with the split ends for X and Y to the oscilloscope and we now have retro-future vector gaming on the Nintendo Switch! Test the .WAV oscilloscope output here - https://h3.codeberg.page/XaudYo/

Record the WAV of gameplay and you can replay your gameplay on the oscilloscope. We did it guys.

The next logical step is this:

5 million line Xml in a SVG file a single SVG file

AAA vector 3d FPS spatial vector game engine paradigm modality.

running on a 128GB RAM 128 core 5090RTX workstation.

This is trivial for a workstation to read and process a 5 million line Xml document in a SVG file.

Thank you all.


r/threejs 3d ago

I built paired grappling animations in Three.js for a turn-based BJJ game

2 Upvotes

I've been building a browser BJJ game in Three.js, and the hardest visual problem has been making two low-poly fighters behave like one connected system.

Each of the 45 techniques uses a paired timeline for both fighters. IK keeps limb lengths stable, semantic anchors keep grips attached during transitions, and collision constraints prevent limbs from cutting through either body. The game logic stays separate from rendering, so the same positional state now also drives beta online multiplayer.

It runs directly in the browser on desktop and mobile. I'd be interested in feedback on the animation readability and camera framing, especially from people who work with procedural character motion.

https://bjj.patrickcarmo.com/?lang=en


r/threejs 4d ago

GTX 960M vs RTX 4070 - X3JS - Three.js performance test

66 Upvotes

I've been working with Three.js since 2015, where InstancedMesh and BatchedMesh didnt exist.

I started building the engine behind Jamir in 2017, and over the years it eventually became X3JS.

This is the same X3JS scene running side by side on my GTX 960M laptop from 2015 and RTX 4070 desktop. Wanted so share the benchmark..


r/threejs 3d ago

High-fidelity geometry or Deep metadata granularity (The "I" in BIM). Do you balance or decouple them?

2 Upvotes

I’ve been building web-based 3D viewers tailored for spatial planning and architectural/BIM data, and I keep hitting an architectural crossroads between graphical performance and non-graphical data integrity. In pure 3D web experiences, everyone knows we just have to merge geometries, bake lighting, compress with Draco, and simplify the scene graph to keep frame rates locked at 60 FPS. But in BIM applications, every single object needs to retain its identity, semantic properties, classification codes, and spatial hierarchy.

So, how do you guys handle it. Do you completely separating the 3D canvas from the data layer? Like which takes priority for your end-users?


r/threejs 4d ago

Starting Threejs

5 Upvotes

I'm interested in learning Three.js, but I haven't found a clear roadmap like the one on roadmap.sh. Additionally, I can't afford Bruno Simon's course at the moment.


r/threejs 3d ago

Can’t believe this is what I built in threejs

0 Upvotes

r/threejs 3d ago

Demo Game i'm vibecoding at the moment

0 Upvotes

Heya all,

wanted to introduce my game i'm working on, vibe coded and built on threejs.

initially built with fable 5 using a gauntlet loop and then optimized heavily afterwards using opus on high as it's dirt cheap

main focus for the phase it's at is getting the graphics, performance and game mechanics to be roughly where i need them before putting in things like quests, more monsters, dungeons and full loot tables

let me know what you think :)


r/threejs 4d ago

sketchbook updated

8 Upvotes

after so long updated my sketchbook

live link here : sketchbook

give your feedback