How to do it...

This effect works in two steps: a vertex function to change the geometry, and a surface function to give it the right color. The steps are as follows:

  1. Remove the current properties and add the following properties to the shader:
Properties {  _RampTex("Color Ramp", 2D) = "white" {}  _RampOffset("Ramp offset", Range(-0.5,0.5))= 0      _NoiseTex("Noise Texture", 2D) = "gray" {}  _Period("Period", Range(0,1)) = 0.5      _Amount("_Amount", Range(0, 1.0)) = 0.1  _ClipRange("ClipRange", Range(0,1)) = 1}
  1. Add their relative variables so that the Cg code of the shader can actually access them:
sampler2D _RampTex;half _RampOffset;sampler2D _NoiseTex;float _Period;half _Amount;half _ClipRange;
  1. Change the Input structure so that it receives ...

Get Unity 2018 Shaders and Effects Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.