传说使用Shader的ID来设置Shader属性能提高效率:)
其实我就是想多知道一些使用Shader的方法:D
使用测试代码如下:
using UnityEngine;
public class Test : MonoBehaviour
{
[SerializeField]
MeshRenderer render;
int baseColorID;
void Start()
{
baseColorID = Shader.PropertyToID("_BaseColor");
}
void Update()
{
Vector3 pos = render.transform.position;
float r = Mathf.Abs(pos.x - (int)pos.x);
float g = Mathf.Abs(pos.y - (int)pos.y);
float b = Mathf.Abs(pos.z - (int)pos.z);
render.material.SetColor(baseColorID, new Color(r, g, b));
}
}
效率提升与否不知道,反正可以这么用就是了:D
吐槽一下,Mathf里面居然没有取小数的方法,害得我用小数减去自身取整之后的结果。