Website powered by

Pages - Environment Foliage Process

A Shader I developed as part of my work on Pages. My goal was to create a system that would be easy to iterate with, and could provide pleasing levels of detail in the foreground while not being noisy in the background. The first step was to create a generator in Substance Designer that lets me place leaves in a semi-random order, so that I could create believable foliage cards. The output from Designer is kept in grayscale maps, and all of the color decisions are made in engine.

The shader in action. Diffuse color transitions to an even atmospheric perspective color, normals reduce in intensity, and shadows reduce to even out the shape as a whole.

I developed a generator to place clusters of leaves at specific locations based on a bitmap. The clusters are then stacked into three stacked grayscale maps for use in engine. For this project, the leaves were generated in Designer, but any bitmap works.

I developed a generator to place clusters of leaves at specific locations based on a bitmap. The clusters are then stacked into three stacked grayscale maps for use in engine. For this project, the leaves were generated in Designer, but any bitmap works.

Once a number of maps have been generated, they are arranged onto sheets, and cards are cut to fit them in Maya.

Once a number of maps have been generated, they are arranged onto sheets, and cards are cut to fit them in Maya.

1) Calculation of distance from camera to tree, with variables to control fade rate.
2) reduction of normals over distance. (+manual control)
3) Placement of leaves (B) over branches (R) using mask (G).
4) Add a percentage of diffuse channel into Emissive

1) Calculation of distance from camera to tree, with variables to control fade rate.
2) reduction of normals over distance. (+manual control)
3) Placement of leaves (B) over branches (R) using mask (G).
4) Add a percentage of diffuse channel into Emissive

The color of the leaves, branches, and the intensity of the effects can be adjusted per instance. 
* In the above video, the red trees are using these fade colors. The blue trees are using The colors stored in the Level Database Actor.

The color of the leaves, branches, and the intensity of the effects can be adjusted per instance.
* In the above video, the red trees are using these fade colors. The blue trees are using The colors stored in the Level Database Actor.