
The base shapes seen from above - Full, Concave, and Convex

A perspective view of the base shapes

An example of some building shapes that can be made with the modular system.
A video of the buildings constructing and un-constructing themselves.

This is the shader that is applied to all building pieces. It has inputs for top and side maps, and support for construction.

1) Mesh with custom cavity shader that "blocks out" space

2) Same mesh, but inverted

3) Extra details
A video of the doors & windows being moved around
A video of all the tree types I made, from least to most rare. They are modeled after real life tree species. Notice the fake translucency that is visible when the light angle gets closer to parallel to the camera angle.

LOD0 trees also have the ability to be chopped down, and have interior faces showing the trunk cross-section.

This is the shader that controls the tree foliage. It calculates lambertian diffuse and phong specular lighting, and uses that to sample a gradient to create a cel-shaded look. I also use the view angle to create a fake subsurface scattering effect. 2D noise is then translated across the mesh's UV map and creates a fluttering effect.

Top view of mesh wireframe

Bottom view of mesh wireframe

A flying bird in action
The birds in action - here I've just spawned them and added simple attraction / repulsion physics.

This is the shader graph for the birds. It just uses a few sine waves to animate the vertex position on the GPU, making for a fairly lightweight asset.
A wireframe view of the shelter and campfire. The smoke is animated with a vertex shader, sparks are simulated with the VFX graph, and flames are a shader applied to the central planes. A surrounding capsule mesh gives off a heat wave effect by perturbing the camera opaque texture with some noise.

This is the shader graph for the flames. 3D noise is translated upwards and samples a colored gradient. The smoke is done similarly, with some noise also driving vertex animation.
This is a video of me adjusting the different material parameters of the LOD0 grass to show what they can do.

This is the LOD0 grass shader. Grass blades are constructed procedurally by applying a fraction function to the mesh's horizontal UV coordinates. The blades are then warped using some 3D noise to simulate a swaying motion. LOD 1 and 2 grass uses fewer planes and a simpler shader.
Notice the refraction, caustics and stylized waves near the shore.
A video of me changing the different parameters of the water shader to demonstrate what they do.

The shader graph for the water. It uses the camera's depth texture and opaque texture to achieve most of the effects.
A video of the trading post.

This is the shader used for all the moving fabric in the game - it takes some 2D noise and translates it across the mesh UV map in a direction, speed and intensity specified by the material parameters.

These are the resources scattered throughout the game.
