最近学习了一下shader forge,一个屌屌哒插件用来生成shader。尽管其降低了制作shader的难度,但是真的想做出满意的shader的话还是得有一定的shader基础。但是仅仅是做出一些简单的效果的话,这个插件还是绰绰有余,挺好上手的。只要按下键盘按钮,它就可以换出快捷命令,单击鼠标便可以选取相应的命令,滚动滚轮则可以滚动命令。鼠标拖动拖动柄可以连接,Alt+右键拖过连线便可切断连接。
- UV流动和溶解
- 环形血条依据血量变色
一、两个简单的效果:uv流动溶解,uv扭曲高光
流动溶解或遮罩
流动扭曲高光
二、环形血条依据血量变色
效果
ShaderForge图:
通过C#脚本修改血量
1 using UnityEngine; 2 using System.Collections; 3 4 public class controlHealth : MonoBehaviour 5 { 6 private Material Material; 7 private float time = 0; 8 // Use this for initialization 9 void Start () 10 { 11 Material = GetComponent<Renderer>().material; 12 } 13 14 // Update is called once per frame 15 void Update () 16 { 17 18 if (Material.GetFloat("_Health") < 1) 19 { 20 time+=Time.deltaTime; 21 Material.SetFloat("_Health", time * 0.25f); 22 } 23 } 24 }
二、ShaderForge顶点着色和UV展开
效果:依据顶点着色中的通道来插值绘制不同的材质。
shaderforge图: