栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Unity3D

unity shader smoothstep and lerp ,InverseLerp

Unity3D 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

unity shader smoothstep and lerp ,InverseLerp

Unity和Unity ShaderLab 里面的SmoothStep居然不是一样的东西。。所以记录一下
Unity Lerp 同 Shader Lerp
 public float Lerp(float a, float b, float value)
 {
 	if(value <= 1 && value >= 0)
 	{
 		return a * (1 - value) + b * value;
 	}
	else if(value < 0)
	{
		return a;
	}
	else 
	{
		return b;
	}
 }
Unity InverseLerp
 public float InverseLerp(float a, float b, float value)
 {
     if (a != b)
         return Mathf.Clamp01((value - a) / (b - a));
     else
         return 0.0f;
  }
unity SmoothStep
float SmoothStep(float a, float b, float value) 
{
	
 	if(value <= 1 && value >= 0)
 	{
 		value = value * value * (3 - 2 * value);
 		return a * (1 - value) + b * value;
 	}
	else if(value < 0)
	{
		return a;
	}
	else
	{
		return b;
	}
}
Shader SmoothStep
float SmoothStep(float a, float b, float x) 
{
  	x = clamp((x - a) / (b- a), 0,1); 
  	return x * x * (3 - 2 * x);
}
Unity SmoothDamp
public static float SmoothDamp(float current, float target, ref float currentVelocity, float smoothTime, [DefaultValue("Mathf.Infinity")] float maxSpeed, [DefaultValue("Time.deltaTime")] float deltaTime)
{
     smoothTime = Mathf.Max(0.0001f, smoothTime);
     float num = 2f / smoothTime;
     float num2 = num * deltaTime;
     float num3 = 1f / (1f + num2 + 0.48f * num2 * num2 + 0.235f * num2 * num2 * num2);
     float num4 = current - target;
     float num5 = target;
     float num6 = maxSpeed * smoothTime;
     num4 = Mathf.Clamp(num4, -num6, num6);
     target = current - num4;
     float num7 = (currentVelocity + num * num4) * deltaTime;
     currentVelocity = (currentVelocity - num * num7) * num3;
     float num8 = target + (num4 + num7) * num3;
     if (num5 - current > 0f == num8 > num5)
     {
         num8 = num5;
         currentVelocity = (num8 - num5) / deltaTime;
     }
     return num8;
 }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/900534.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号