123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using UnityEngine;
- using System.Collections;
- namespace TMPro.Examples
- {
-
- public class ShaderPropAnimator : MonoBehaviour
- {
- private Renderer m_Renderer;
- private Material m_Material;
- public AnimationCurve GlowCurve;
- public float m_frame;
- void Awake()
- {
- // Cache a reference to object's renderer
- m_Renderer = GetComponent<Renderer>();
- // Cache a reference to object's material and create an instance by doing so.
- m_Material = m_Renderer.material;
- }
- void Start()
- {
- StartCoroutine(AnimateProperties());
- }
- IEnumerator AnimateProperties()
- {
- //float lightAngle;
- float glowPower;
- m_frame = Random.Range(0f, 1f);
- while (true)
- {
- //lightAngle = (m_Material.GetFloat(ShaderPropertyIDs.ID_LightAngle) + Time.deltaTime) % 6.2831853f;
- //m_Material.SetFloat(ShaderPropertyIDs.ID_LightAngle, lightAngle);
- glowPower = GlowCurve.Evaluate(m_frame);
- m_Material.SetFloat(ShaderUtilities.ID_GlowPower, glowPower);
- m_frame += Time.deltaTime * Random.Range(0.2f, 0.3f);
- yield return new WaitForEndOfFrame();
- }
- }
- }
- }
|