zoukankan      html  css  js  c++  java
  • Lerp

    Lerp,就是返回两个值之间的插值,一般有三个参数。第一个参数为初始值,第二个参数为最终值,插值为0~1d的一个浮点数值,为0时为初始值,1时为最终值,为0到1之间的数值时返回一个混合数值。若第三个参数为Time.daltaTime,这返回随时间推移的一个值。

    以Color.Lerp为例

    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;
    using UnityEngine.EventSystems;
    using System;
    
    public class ColorChange : MonoBehaviour
    {
    
        public Image image;
      public float speed;
        private Color old;
        private Color change;
    	// Use this for initialization
    	void Awake ()
        {
            old = Color.white;
            change = Color.green;
            image.color = old;
            speed=0.5f;
    	}
        void Update()
        {
           
                float a = speed * Time.deltaTime;
           
            if (this.GetComponent<Image>().color.b > 0.1f)
                {
                    this.GetComponent<Image>().color = Color.Lerp(this.GetComponent<Image>().color, Color.black, a);
                }
                else
                    this.GetComponent<Image>().color = change;
        }
    }
    

      运行之后,白色ugui Image会由白色逐渐变成灰黑色

    除了Color之外还有

    Material.Lerp

    public void Lerp(Material start, Material end, float t); 

    通常,您想要差值的两个材质是相同的(使用相同的着色器和纹理) 除了颜色和浮点数。然后您可以使用 Lerp 做它们之间的混合。 

    Color32.Lerp

    Quaternion.Lerp

    Interpolates between a and b by t and normalizes the result afterwards. The parameter t is clamped to the range [0, 1].

    通过t值from向to之间插值,并且规范化结果。

    This is faster than Slerp but looks worse if the rotations are far apart.

    这个比Slerp更快但是如果旋转较远看起来就比较差。

    Mathf.Lerp

    Interpolates a towards b by t. t is clamped between 0 and 1.

    基于浮点数t返回a到b之间的插值,t限制在0~1之间。

    When t = 0 returns from. When t = 1 return to. When t = 0.5 returns the average of a and b.

    当t = 0返回from,当t = 1 返回to。当t = 0.5 返回from和to的平均值。

    Vector3.Lerp

    可以用来控制游戏对象大小,位置什么的,因为,transfrom中的position跟scale,rotation都是一组Vector3

    Vector2.Lerp

    Vector4.Lerp

  • 相关阅读:
    Mysql 密码过期
    【Linux】 设置Linux的系统时间
    【Ubantu】ubantu 安装 .net core 3.0 的环境
    【Ubantu】Ubantu的常用命令
    【SQL】一个简单的查询所有层级(直到顶层)的sql语句
    【C++】C++中的异常解析
    【C++】C++中的类模板
    【Eclipse】Eclipse如何导出java项目为jar包
    【Kali】kali linux的安装和配置
    【Python】解析Python中的线程与进程
  • 原文地址:https://www.cnblogs.com/lanrenqilanming/p/6600578.html
Copyright © 2011-2022 走看看