当前位置:   article > 正文

C#脚本控制材质参数----解决UI界面 上-- 特效人员 无法key动画问题_unity动画系统控制ui材质参数

unity动画系统控制ui材质参数

之前美术同学在做UI界面的动画

效果的时候遇到了 材质参数不可key动画的问题,我就简单帮忙写了小脚本~ 做个小记录

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. [ExecuteInEditMode]
  5. public class AniUImove : MonoBehaviour
  6. {
  7. public Material[] materials;
  8. [SerializeField]
  9. private float m_Offsetx;
  10. [SerializeField]
  11. private float m_Offsety;
  12. private float m_TempOffsetx;
  13. private float m_TempOffsety;
  14. private void Start()
  15. {
  16. Renderer renderer = gameObject.GetComponentInChildren<Renderer>(true);
  17. if (renderer != null)
  18. materials = renderer.sharedMaterials;
  19. }
  20. void Update()
  21. {
  22. if (m_TempOffsetx != m_Offsetx || m_TempOffsety != m_Offsety)
  23. {
  24. if (materials != null && materials.Length > 0)
  25. {
  26. for (int i = 0; i < materials.Length; i++)
  27. {
  28. Material mat = materials[i];
  29. mat.SetTextureOffset("_MainTex", new Vector2(m_Offsetx, m_Offsety));
  30. }
  31. }
  32. m_TempOffsetx = m_Offsetx;
  33. m_TempOffsety = m_Offsety;
  34. }
  35. }
  36. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/122589
推荐阅读
相关标签
  

闽ICP备14008679号