Rune Skovbo Johansen

@runevision@mastodon.gamedev.place
2K Followers
112 Following
2.9K Posts
Indie game developer, procedural generation enthusiast, Dane in Finland. I made Eye of the Temple, now working on The Big Forest.
Website & bloghttps://runevision.com
YouTubehttps://www.youtube.com/c/runevision
Blueskyhttps://bsky.app/profile/runevision.bsky.social

Added a *bonk* sound effect to the NPC impacts to entertain myself while debugging some tedious pathfinding issues. Sound on ๐Ÿ”Š๐Ÿ”Š๐Ÿ”Š

#gamedev #indiegame

I got translucency working on the trees โ˜€๏ธ๐ŸŒณ

Hell yeah, let's stroll!

#GameDev #ProcGen

The most notable changes were:
- Remove the blue sheen Unity insists on adding even when smoothness is set to zero.
- Increase the alpha cutoff value > made models and shadows more fluffy and made impostors less like undefined blobs.
- Custom lighting function that's brighter in shadow.
When I first used the new tree models, nothing felt satisfying to me anymore. It took me long to tweak misc aspects of the trees to isolate what it was I liked better about the old trees, to be able to replicate the same feeling with the new models. Here's how they first looked vs how they look now.
I've long needed to scrap Unity's built-in tree imposters which don't support shadows and use octahedral impostors plus GPU instancing instead. The tree models I used don't work with that (and look too small anyway), so had to find new tree models too. Finally found a combo that might work? #gamedev
I've read that Surface shaders automatically generate a deferred pass, but perhaps it's actually only the case for Surface shaders that use Standard lighting? And what is a deferred pass anyway? The impostor baking seemingly needs the surface function that writes albedo and normals etc. But that's not the part of deferred rendering which is actually deferred, to my understanding?
I'm using Amplify Impostors and have been debugging how it bakes the impostors. If I bake with a shader that uses the Standard lighting model, the bake can find a Deferred pass in the shader and the impostor textures (normal/depth and albedo) come out fine. If I change the shader to use a custom lighting function, the bake can no longer find a Deferred pass, and the normal/depth and albedo impostor textures come out with bogus data.
For example, I read that Breath of the Wild supports different shading models (such as toon shading on characters only) in deferred rendering by setting bits in some buffer and choosing shader based on these bits. Is that standard in deferred rendering? Or does Unity only support one mode for the whole screen?
Is this something that would get slightly easier if I use deferred rendering instead of forward? I have an intuition that then the imposters and the real models would add the same kind of data to the buffers which could then be handled the same way in the deferred passes? I donโ€™t know much about how custom shaders work in deferred rendering though.
Iโ€™m once again looking into the problem of getting trees to look decent in the distance by using octahedral impostors which support shadows and intersections. Problem is, I really need custom shading to make the tree foliage look nice, but then I also have to make impostor versions of those shaders, but also, the foliage and bark doesnโ€™t use the same shader, and argh, everything is so complex.