using System.Collections;
using UnityEngine;
/// <summary>
/// 闪烁
/// Z 62
/// </summary>
public class MatSetLight : MonoBehaviour
{
private Material mat;
// Start is called before the first frame update
void Start()
{
mat = GetComponent<MeshRenderer>().material;
StartCoroutine(nameof(ToLight));
}
IEnumerator ToLight()
{
while(gameObject.activeSelf)
{
for (float i = 1; i < 5; i+=0.1f)
{
yield return new WaitForSeconds(0.01f);
mat.SetFloat("_Light", i);
}
for (float i = 5; i >= 0; i-=0.1f)
{
yield return new WaitForSeconds(0.01f);
mat.SetFloat("_Light", i);
}
}
}
}
一段自用的闪烁代码
该代码示例展示了一个Unity3D中的MonoBehaviour类,名为MatSetLight,用于实现物体材质的闪烁效果。它通过改变_Material属性中的_Light参数在1到5之间循环,利用Coroutine等待时间来控制闪烁频率。
摘要由CSDN通过智能技术生成