• Shader authoring for complex visual challenges
• Created and integrated visual effects in unity
• Texture to mesh modeling (2.5D)
• Animation
• Pipeline/Asset optimization
• Integration of all types of art assets and authoring supporting components in C#
• Documentation and training for other artists
• Team collaboration and prototyping
• Reviewed feature specs, costing, and offering technical input where needed
• Resolved file conflicts, branching, merging, and helping other artists using Sourcetree

Vertex Animated Banners

  • Shader

    Custom shader solution for the Club Challenge banners in Harry Potter Puzzles and Spells. It utilizes vertex colors to control both the animation and the UV offset for the numeral geo (which denotes tier rank). Features:

    • UV offset (for numeral)

    • Vertex wave

    • Sin wave texture depth tinting

    • Dissolve with edge control

  • Art Setup

    • Geometry needs to be dense enough to handle the vertex wave deformations.

    • Red vertex channel controls wave strength on the banner. No wave at the rod, maximum wave at the end of the banner.

    • Green vertex channel is used to offset the numeral based on the tier rank (set in data). The plane appears yellow due to the vertices containing red values such that the numeral also waves.

    • Blue vertex channel is used to animate the gem vertices.

  • Controller

    The banner is a single prefab. I Worked with engineering to get this hooked up with bind properties to swap assets based on the tier. The lists are exposed so art can define the tier banner final art.

Hourglass

  • Shader

    I developed this shader to fake the effect of the hourglass filing up with gems.

    • Makes use of both object space and world space.

    • Utilizes the green vertex color to denote where to apply the world space UVs. (This allows the sand vertices to move without distorting the UVs)

    • The top of the sand fill vertices are painted red to apply the object space UVs. These UVs are static, with a curated amount of scroll to roughly match the fill ratio.

    • Blue vertices are used to move the top portion of the sand up and down on the y-axis based on a variable amount and normalized in the shader such that 0 = no fill and 1 = max full.

    • The red vertices are used to apply a highlight effect to the sand to make it look like it is inside of the glass.

    • The alpha channel of the vertices are used to apply a darkening effect to the sand.

    • The Progress property is exposed to allow the value to be controlled by code via the controller. Worked with engineering to get this hooked up.

  • Art Setup

    • The vertices at the top portion must be dense enough to handle the scrolling as the hourglass fills.

    • One row of vertices are painted with varying values of blue and red to achieve a nice blending of the two opposing space textures.

    • Red channel of the texture is used as the greyscale for tinting.

    • Green channel of the texture is used as a finer detail channel which is applied to the object space texture.

  • Controller

    There were supporting elements to this hourglass, such as particles and glow sprites, which were to be colored along side the hourglass itself. I developed the core of the controller and worked with engineering to get everything fully functional.

    The tween component of this controller used an existing tween manager which we plugged into.

Tornado Shader

  • UV Scrolling

  • Two-tone color tinting based on main texture

  • Alpha clipping for fading

  • Rim lighting and shading

  • Variable funnel rotation speed, strength, and direction

  • Utilizes vertex coloring to control vertex displacement

 

Other Shaders

  • Radial Gradient Vertex Shader

    • Uses a generated radial gradient applied to the mesh UVs to create a greyscale image which can be tinted.

  • BlendAdd Shader

    • Lerps between alpha blended and additive to achieve an additive look on top of light or even white backgrounds.

Daily Prophet Play Scenes

  • Scene prefab setup, art processing and integration

  • Shader support

  • VFX and animation

Desaturation shader

  • Exposed variable which can be animated by the controller on the camera. The controller updates that variable to all shaders currently active with that variable exposed.

  • Performance tested on low end device which resulted in no performance loss.

Potion Class

  • Created all animations and VFX

  • Integrated character and environment art

Animation Support

  • Art processing, integration, and prefab setup for artists to animate as necessary.

  • Custom cycle offset animation behaviour.

  • Custom random unique animation clip behaviour. (works accross prefab instances)

  • Managed pipeline of Pets and Character exporting and integration, working closely with animators.

  • Utilized the Master animator controller to streamline pet integration.

Next
Next

Wonka's World of Candy