Misc.
Been spending time learning to use Houdini . This exercise involved placing objects along a surface and orienting them the way I wanted them to face. Then I used some animated noise patterns to drive the rotations for each of those objects and added some simple materials and lighting.
Shader Effects
This flame effect is driven by a distortion shader which applies distortion based on the the y portion of the UVs. It also handles color intensity which allows the flame to glow.
This shader effect was created to blend the desired texture with a separate alpha mask and some noise to convincingly have a terrain “grow” into place. This allows the user to easily place things like grass patches with customizable patchiness, while also allowing for code driven “reveal” effects when desired.
Combining the shader with Unity’s Sprite Shape system allows for easy terrain effects that look great!
This project featured a change in color schemes when a level is complete. In this example, each unit is painted such that the R, G and B channels each serve as a mask that can be used to apply new colors. In code, we set a world point that can be used as reference when changing from one color set to another, allowing for this exciting color wave effect.
This shader was created to allow a sprite to be colorized in various ways to depict different status effects.
Procedural Animation
This exercise uses similar techniques to the next couple examples. It not only combines them, but also employs proper IK handling and world space to local operations to better deal with object scaling and 3D space considerations.
This system was created to drive tails and tentacles in Aqua Lungers. It works by smoothly accelerating an object to an anchor point behind its target. Various parameters were included to allow these tails to flow around in unique ways.
This system uses a simple distance based solution to determine where to place the foot when its base position has moved too far from the foots planted position. It also checks for nearby collisions to properly place feet along the walls. A simplified IK system was also made to arc leg pieces from the hip to the foot.
Tools
This tool was created to allow the user to place props around a spline and customize various settings to achieve any kind of look.
This tool allows a user to quickly create a path or series of paths for an NPC to follow. Each path can have its own unique settings and be run either automatically or wait for inputs from other scripts.
Collision
Collisions in Unity are not always reliable when objects are moving at high velocities. The code written to handle the movement for this bouncing ball fixes that by looking for collisions ahead of time and calculating multiple collisions within a single frame if necessary.