学习shader,刚开始,记下一些自己的解读,如果有其它意见或者建议的欢迎交流。
首先先上脚本生成图片的效果图:
当然还可以根据参数有所改变。
下面开始逐步分析:
1.线性变化,颜色控制在黑白(y=|1-x|,1>=x>=0)
首先,贴下代码:
直接看代码可能不大好理解,下面我们具体化一下:
如上图所示,这个原理就是以图片的中心为原点,图片的高为h,0.5h作为半径的圆的分部,从圆心到圆周的颜色减暗。
我们代码一句一句分析,
Vector2 currentposition = new Vector2(x, y):
这一句就是遍历的图片大小像素点钟的任意一点。
float pixeldistance = Vector2.Distance(currentposition, centerPixelPosition) / (widthHeight * 0.5f):
这一句就是图中表示的Distance/(h*0.5),就是点到圆心的距离除以半径,圆内的点值是0-1,圆外的大于1,假设这个值为x
pixeldistance = Mathf.Abs(1 - Mathf.Clamp(pixeldistance, 0f, 1f)):