
Stylized Village Generator
Final Look:
My Goal:
Generating a small village in the forest

My Solution:
Using data from spline and landscape to generate meshes

Setting up landscape:
After setting up landscape material with material painting and getting landscape data in PCG graph, we would be able to get the material information as attributes to spawn meshes.


Spawning meshes based on landscape material:
Trees:
By filtering out point data in the area where I painted the tree landscape material, I could spawn tree static meshes while using a distance node to make sure the trees don't intersect with the buildings I will be spawning.


Set-dressing Objects:
To create the area that would be spawning the set-dressing objects such as grass, rocks, etc., I had to make sure the points didn't collide with other objects nor that they would be spawning on the path we were creating. By using difference and distance nodes, I was able to achieve the goal. With bound modifier and self pruning nodes, I could make sure the meshes don't spawn too close together to the point that the set-dressing meshes would intersect with each other.


Light Posts Along The Road:
For the spawning of light posts, I only wanted them to be on the side of the road, so I ran two attribute filter nodes, with one having a slightly larger threshold than the other through difference node to get the data along the side of the road.


Generate Buildings with Spline:
I used the modeling tool in Unreal to draw a closed spline, and with a get spline data node, I could spawn buildings. The conditions are that the buildings would not be spawning too close to each other nor they would spawn on the road.


Adding Tile Path with Spline:
With the same modeling tool, I drew splines that would spawn tile meshes to create a path that align to the landscape.


Resource:
Village Reference created by Nichole Findlay
https://www.artstation.com/blogs/nitpic/6r1V/procedural-village-project
All assets and textures used are from Fab.com