Lazy Eti
banner
lazyeti.bsky.social
Lazy Eti
@lazyeti.bsky.social
Your friendly neighborhood gamedev,
3D artist, creator of PARADISE MARSH and other game stuff
✨ linktr.ee/LazyEti ✨
It works in steps but i implemented a way to assign specific tile types using the other chanels of the height texture. for example i can replace the type of a ledge to a slope and it'll run a specific bit of code puting down a ramp mesh. It's restrictive but i think it works for my specific needs.
November 7, 2025 at 10:53 PM
nah vertex painting was very inconvenient so i went for a texture approach. The splat texture is 4x the size of the height map for smooth artistic control. The texture is then blended with a noise and stepped in the shader to make it a little more organic looking.
November 7, 2025 at 9:34 PM
I mentioned that it was custom because I decided to create my own tile based terrain editor instead of using the default unity one but I do use Unity API of course
November 7, 2025 at 9:26 PM
The selection algorithm and mesh combining gets triggered after any change to the height map but it's really fast and doesn't really get heavy because the map is divided in smaller chunks. The operation only runs on the currently modified chunks instead of the whole map.
November 7, 2025 at 9:26 PM
grass is a little more complicated because it's GPU instanced but @cyanilux.bsky.social made a great breakdown here: www.cyanilux.com/tutorials/gp...
GPU Instanced Grass Breakdown
A post showing how Shader Graph can be used with DrawMeshInstancedProcedural / RenderMeshPrimitives and DrawMeshInstancedIndirect / RenderMeshIndirect to draw grass using GPU Instancing.
www.cyanilux.com
November 7, 2025 at 6:44 PM
the ground meshes are selected from a list via an algorithm based on the height map and added to a CombineInstance List to finally be merged via CombineMeshes () into one solid mesh.
November 7, 2025 at 6:44 PM
hehe thanks man!
November 7, 2025 at 6:06 PM
Entirely homemade! It was a lot of work to setup everything but I think it's worth it in the end : )
November 7, 2025 at 6:05 PM
I started with trying to bake the data in the vertex color which was a big failure because it's just really difficult to read it back on the c# side to spawn the grass.
Ended up going for 2 different map. One texture holds the height map and one higher resolution one hold the terrain surface data.
November 7, 2025 at 5:35 PM