Brian Breiholz
banner
brianbreiholz.bsky.social
Brian Breiholz
@brianbreiholz.bsky.social
Web & Game Dev | building Animagica - the Animation Blueprint Editor for three.js & the Web

Find older Posts on: https://x.com/BrianBreiholz
Pinned
Hey, I'm building Animagica – a professional character animation system for #threejs and the web.

As I didn't get to post any of it here before, I made a compilation of all my previous introductory material.
Check it out :)

www.youtube.com/watch?v=RCph...

#gamedev #animation
Animagica: Character Animation System for Three.js
YouTube video by Brian Breiholz
www.youtube.com
Sufficiently advanced magic.

#threejs #blender #IndieGameDev
May 17, 2025 at 8:43 AM
I took the Jolt physics car controller by @jrouwe.bsky.social for a ride on my terrain. This was a while ago, but quite the fun experiment :)

#threejs #gamedev #IndieGameDev
May 10, 2025 at 12:02 PM
I implemented Homeworld 2 style sky meshes using baked vertex colors in @threejs.org. Reduces VRAM usage from 200mb (2k x 4k UASTC GPU compressed) to a lowly 4mb! For reference, iOS Safari used to crash web pages at 256mb, so this a big win :)

#threejs #gamedev #IndieGameDev
April 30, 2025 at 3:04 PM
Anyone interested in hacking on Octahedral Impostors for @threejs.org ?

I took @sketchpunk.bsky.social's octahedron unwrapping code and contributed atlas generation (and some suuper hacky impostor rendering) – maybe someone can push this further for the community :)

GitHub Link below:
March 28, 2025 at 11:13 PM
Continuing with regular Assets. Added a dithered fade between LOD levels, makes transitions a lot less noticeable – extra colors for demo purposes :-)

#threejs #gamedev #IndieGameDev
March 19, 2025 at 9:06 AM
Didn't get to crosspost this one yet (50mb file limit on here 😬)

Dynamic terrain chunks generated at runtime using meshoptimizer with lockborders modifier (no cracks between chunks)

The wireframe won't look as satisfying, but generating and rendering is super fast!

#threejs #gamedev #IndieGameDev
March 17, 2025 at 11:59 AM
Spent today walking through the baking process for all of my assets. Here are some screenshots of the demo level with sh lighting active on everything. Lots of tuning to be done, but promising :)

#threejs #gamedev #creativecoding
February 18, 2025 at 12:01 AM
Modified the fog to pick up some depth from the shadow map and the sh baked ao. With the right settings this really gives a nice anime vibe. The effect is super cheap too!

#threejs #gamedev #IndieGameDev
February 14, 2025 at 2:07 PM
Added some "atmospheric scattering" to my PBR material using spherical harmonics colored fog.
#threejs #webgl #gamedev
February 13, 2025 at 2:58 PM
Taking the new SH lighting into production. Lots of unexplored avenues, but good enough for the current project. Conclusion: Super cheap *per-vertex* indirect light + ao and as a bonus lets me convert big HDR files into webp + 27 floats for the lighting data.

#threejs #gamedev
February 4, 2025 at 5:46 PM
Got a pretty debug view today ☀️
Capturing local lighting conditions into spherical harmonics probes. Previous screenshots (below) just showed the material reacting to infinitely far away light; plan is to enhance this with local captures :)

#threejs #webgl #gamedev
January 23, 2025 at 2:21 PM
Forgot to post this one yesterday :)

sneak peak at indirect light + albedo . Turned up the bounce intensity a bit too much, but it nicely showcases the dynamic soft shadows (see the ground below the barrels)

#threejs #webgl #creativecoding
January 4, 2025 at 11:59 AM
I've been working on Spherical Harmonics lighting and precomputed radiance transfer in @threejs.org. Far from perfect just yet, but still happy that I've gotten so far :)

For context: there are no direct lights in this scene, this is just the mesh reacting to an environment map.

#gamedev #webgl
January 2, 2025 at 5:16 PM
Even though my code contains few react three fiber components anymore (most rendering is done via BatchedMesh), I can still use @triplex.dev in vscode as a level editor, with the help of custom React components and Koota, the new @pmnd.rs ecs. More on that setup soon :)
December 13, 2024 at 1:35 PM
WIP

Working on a small Jump & Run game in
@threejs.org to showcase Animagica.

It's not enough to have beautifully animated models. We need a runtime system that controls which clips get played and how to transition between them based on our game state.

#threejs #webgl #gamedev
December 12, 2024 at 8:50 AM
Added mesh colliders to the pipeline. Few things to clean up, then we can actually start building levels! 🙏🚀
#threejs #webgl #gamedev #indiegame
December 1, 2024 at 7:03 PM
Working on an asset and content pipeline for my new game.

Using @triplex.dev as my level editor.
Custom Blender plugin and server for instant assets updates. @threejs.org BatchedMesh to reduce draw calls (500+ Assets (~1500 meshes) -> 23 Draw calls)

#gamedev #threejs
November 29, 2024 at 9:41 PM
November 19, 2024 at 2:38 PM
Making a R3F abstraction for dynamic environment maps 🎆✨
These can be used to fake lighting that bounced of the environment at relatively low cost.

#threejs #gamedev
November 18, 2024 at 8:49 PM
Hey, I'm building Animagica – a professional character animation system for #threejs and the web.

As I didn't get to post any of it here before, I made a compilation of all my previous introductory material.
Check it out :)

www.youtube.com/watch?v=RCph...

#gamedev #animation
Animagica: Character Animation System for Three.js
YouTube video by Brian Breiholz
www.youtube.com
November 18, 2024 at 10:13 AM
Continued experimentation: Now rendering a static cube map (16x16 lol) once for each mesh. Certainly not going to work for every Scene but seems like an easy alternative to a lightprobe grid where it fits.

#threejs #gamedev #creativecoding
November 15, 2024 at 11:25 PM
I've been experimenting with some bounced lighting on my character. Here's a comparison with a static environment map. I think it makes quite the difference!
#threejs #gamedev #creativecoding
November 12, 2024 at 7:37 PM