Ming-Lun "Allen" Chou
banner
theallenchou.bsky.social
Ming-Lun "Allen" Chou
@theallenchou.bsky.social
Principal Game Programmer at Naughty Dog from Taiwan.
Math. Physics. Graphics. AI. Bunnies 🐰
Gamedev Blog: http://blog.allenchou.net
Discord: http://discord.gg/MEGuEFU
MudBun: https://longbunnylabs.com/mudbun/
Inverting normals can come in handy for shaping interior spaces more intuitively. #MudBun #GameDev #MadeWithUnity #VFX
March 4, 2025 at 5:32 AM
GPU-based auto-smoothing was fun to implement. Adjacency is constructed by spatially hashing & adding coinciding verts to a shared list. Then each vert's normal is updated to be a weighted avg. of similar normals of verts in the same list. #MudBun #GameDev #MadeWithUnity #VFX
March 4, 2025 at 5:24 AM
Take 1 was in 2021, and this time I have some ideas to make it more performant.
February 22, 2025 at 7:50 AM
Ray-marched surface, take 2. Not sure why it's so much brighter than regular meshing. Even dual contouring can't beat this because it's the ground truth. Voxel density affects the proxy mesh complexity but doesn't change the visuals. #MudBun #MadeWithUnity #GameDev #VFX
February 22, 2025 at 7:39 AM
Another one. Blending between surface nets or dual contouring and intermediate dual quads never gets old. The mesh is constructed & animated by sampling triangle noise with scrolling spherical coordinates. #MudBun #GameDev #MadeWithUnity #VFX
February 19, 2025 at 8:54 AM
Another demo of blending between surface nets and intermediate dual quads. #MudBun #GameDev #MadeWithUnity #VFX
February 19, 2025 at 8:49 AM
Quick & easy way to get dithered transparency to look more convincing on overlapping transparent objects: throw unique object hash/ID into the mix for noise seed. #GameDev #MadeWithUnity
February 19, 2025 at 8:45 AM
Transparency blend & splat size blend. #MudBun #GameDev #MadeWithUnity #VFX
February 19, 2025 at 8:41 AM
Sometimes it's desired to jitter splat orientation. With high-frequency noise though, the normals might appear to be too noisy. A blend back to the original normals can help, in the same vein as normal transfer techniques for foliage in games. #MudBun #GameDev #MadeWithUnity #VFX
February 18, 2025 at 3:22 AM
More documentary of the shelved experimental ray-traced voxel render mode. Splat size was used as a proxy for rendered voxel size. Had to speed up the video to fit within bsky's limit. #MudBun #GameDev #MadeWithUnity #VFX
February 17, 2025 at 6:40 AM
Sparse hierarchical voxel nodes are used to narrow down which voxels to generate triangles for. I use branching factors (8, 8, 4), so one highest-level node, or "chunk", contains to 256 voxels. Only a node that intersects the SDF zero surface is further branched. #MudBun #GameDev #MadeWithUnity #VFX
February 17, 2025 at 6:30 AM
The surface nets & dual contouring algorithms both involve an intermediate step that produces voxel quads and a final step that offsets vertices towards the SDF zero isosurface. Naturally...I'd want to try blending between the two steps. #MudBun #GameDev #MadwWithUnity #VFX
February 17, 2025 at 6:13 AM
Demonstrating varying voxel density, render modes, and splat options. #MudBun #GameDev #MadeWithUnity #VFX
February 17, 2025 at 6:11 AM
Using each splat's center to sample a 3D Perlin noise gradient for offset creates this interesting effects as the sphere brush is moved around. #MudBun #GameDev #MadeWithUnity #VFX
February 17, 2025 at 5:48 AM
SDF modeling is cool because you can just move the mouth around like this. #MudBun #BoingKit #GameDev #MadeWithUnity #VFX
February 17, 2025 at 5:45 AM
Overlay blend mode for dye brushes. More artistic controls. #MudBun #GameDev #MadeWithUnity #GameDev
February 16, 2025 at 8:41 AM