在制作旋转相机的时候,经常会遇到从当前角度插值过度到特定角度,但是会存在角度大于360的情况,所以需要寻找到插值的最近角度来进行插值。
所以需要对插值前的角度值和目标值进行归一化处理。都归一到-180到180之间,然后进行插值。
直接上代码:
AngleNormalize(angle, rangecenter=0){
angle = (angle % 6.28);
if(angle<-3.14+rangecenter)
angle += 6.28;
else if(angle>3.14+rangecenter)
angle -= 6.28;
return angle;
}
角度经过这个函数处理后会归一到同一区间,插值的动画就不会出现转好几圈的现象。