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
Find older Posts on: https://x.com/BrianBreiholz
Pinned
Brian Breiholz
@brianbreiholz.bsky.social
· Nov 18
Animagica: Character Animation System for Three.js
YouTube video by Brian Breiholz
www.youtube.com
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
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
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
#threejs #gamedev #IndieGameDev
May 10, 2025 at 12:02 PM
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
#threejs #gamedev #IndieGameDev
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
#threejs #gamedev #IndieGameDev
April 30, 2025 at 3:04 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
#threejs #gamedev #IndieGameDev
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:
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
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:
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:
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
#threejs #gamedev #IndieGameDev
March 19, 2025 at 9:06 AM
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
#threejs #gamedev #IndieGameDev
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
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
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
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
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
#threejs #gamedev #creativecoding
February 18, 2025 at 12:01 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
#threejs #gamedev #creativecoding
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
#threejs #gamedev #IndieGameDev
February 14, 2025 at 2:07 PM
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
#threejs #gamedev #IndieGameDev
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
#threejs #gamedev
February 4, 2025 at 5:46 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
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
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
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
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
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
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
For context: there are no direct lights in this scene, this is just the mesh reacting to an environment map.
#gamedev #webgl
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
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 :)
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
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
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
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
Added mesh colliders to the pipeline. Few things to clean up, then we can actually start building levels! 🙏🚀
#threejs #webgl #gamedev #indiegame
#threejs #webgl #gamedev #indiegame
December 1, 2024 at 7:03 PM
Added mesh colliders to the pipeline. Few things to clean up, then we can actually start building levels! 🙏🚀
#threejs #webgl #gamedev #indiegame
#threejs #webgl #gamedev #indiegame
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
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
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
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 19, 2024 at 2:38 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
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
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
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
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
#threejs #gamedev #creativecoding
November 15, 2024 at 11:25 PM
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
#threejs #gamedev #creativecoding
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
#threejs #gamedev #creativecoding
November 12, 2024 at 7:37 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
#threejs #gamedev #creativecoding