翻找无简单的解释,于是自己试验了下, 以下几种写法的效果是一样的 写法1:lerp(a, b, a.a) 写法2:b * b.a + (a) *(1- b.a) ; 写法3:a + (b-a) * b.a; 下面解释下什么是lerp的功能: 官方解释 float lerp(float a, float b, float w) { return a + w*(b-a); } 木有看懂 我的解释:把上面的公式展开, 等价于 float lerp(float a, float b, float w) { return a(1-w) + b * w; }
说白了,也就是一个混合公式,他们俗称插值, 只不过w相当于以第二个参数为源,第一个参数为目标。 直白点,就是把b向a上混合