Wednesday 4 April 2012

Advanced Land Modification and Dirt Movement

I have done significant work on refining the dirt systems.  I have worked on smoothing out the basic land alteration, making changes in texture, height and saturation smooth between vertices, and have ensured that the height of the land can not be less than the height of the bucket.



I have also changed the dirt system to implement point sprites.  These sprites are simple a set of masks that use the ground textures for color.  When a sprite is created, its life span is the current height of the bucket, as it falls closer to the ground it fades out to ensure a smooth blend into the land.  This system is heavily reliant on how much the bucket is "open".  Given as a percentage, this value is used to calculate the spawn rate, the amount of side to side variation (width of stream) and the depth of each point sprite.



If the bucket is barely open, you should see a very thin stream from the side, but a thicker stream from the front.  If the bucket us fully open, the stream from the side will appear much thicker.  This implementation is done by storing the Vector direction of the bucket and the value of the bucket when the dirt particles are spawned.  In the rendering process, the width of each sprite is determined by taking the dot product between the spawn direction vector, and the vector between the current sprite and the camera.  this is scaled by the complement of the bucket value and added to the value of the bucket multiplied by the sprite width.


As you can see I have also integrated the exhaust and light systems into this model.  The visuals are quite strong, and this is definitely the aesthetics I am looking for.  For model shading, I have implemented basic "Desaturate Highs" and "Desaturate Lows" which are basic Final Cut filters.  This coloring gives a much more dissonant feel than normal shading.

These systems could still use some refinement, but are pretty much finalized.

No comments:

Post a Comment