Wave Deformer (Tool - WIP)

  • This project is a work in progress!
    Tool Proposal:
    As a member of the crew for the student film Liminal, directed by Meredith O’Malley, I am going to create a tool for use in the final scene of the film. The final scene involves a very large-scale tidal wave, and we do not have the time or resources to run a simulation for the entire wave. Therefore, I will be making a wave deformer tool that replicates the look of a tidal wave, without costly simulation and rendering. Small amounts of particles may still be used for foam or small details to sell the effect. A custom shader may also be required to achieve a production-grade look.
    I. Wave Position: Changes the position of the point that is the center of the effect
    II. Wave Orientation: Changes the orientation of the point that is the center of the effect
    III. Wave Scale: Changes the scale of the effect in along the X, Y, and Z axes
    IV. Wave Width: Changes the width of the wave within the grid
    V. Wave Curl: Changes the degree to which the wave is curled on itself
    VI. Overall Curve: Changes the amount of the grid being pulled in by the wave curve
    The deformed geometry is achieved by establishing a manipulator at the origin that will act as the starting center point of the deformation. The tool finds the difference between the point location of the grid, and the location of the effect’s origin. The vector location is converted to floats to be manipulated, and is multiplied by a user-defined “z-bias” for a range of effect on the deformation. Those floats are then converted back to vectors, and the length is found. The length is divided by the user-defined “range” to set the range of the effect. The user input “angle” is converted to radians to be altered by the “range”, then converted back to degrees. The geometry is rotated around a matrix that is partially made up of the user input, this is done by multiplying the difference of the point locations and the effect origin location with the rotation matrix. The alterations are applied to the geometry point positions at the end.
    Future work:
    Eventually, controls for the height of the wave, and the depth of the dip before the wave will hopefully be added. A custom shader is in the early stages of development for this tool, and research is shifting to focus on the best process for creating believable ocean displacement in conjunction with this tool.