表达式控制灯光沿着圆形路径运动
2017-12-13 01:50浏览数:46

这是今天一位同学的诉求,百度没有查到解决方案。





两种解决方案:

第一种:时间层反向(缺点-K帧的位置需要回调)

第二种:表达式(优点:位置可自定义并且调整起来更人性化)


表达式如下:

x=-Math.sin(time*5)*160+412;

y=Math.cos(time*5)*160+228;

z=0;

[x,y,z]


可能有的同学看不明白,我给出的解释如下:

Rotate_Radius = 160;//旋转半径

Rotate_Center = [412,228];//旋转中心

Rotate_Frequency = 1;//旋转一周时间(单位:秒)


tmp = degreesToRadians(360/Rotate_Frequency)*time;

x=-Math.sin(tmp)*Rotate_Radius+Rotate_Center[0];

y=Math.cos(tmp)*Rotate_Radius+Rotate_Center[1];

z=transform.position[2];

[x,y,z]

以旋转中心为圆心,圆形半径为旋转半径,动画的快慢可以通过旋转一周的时间来控制!祝大家学习愉快~!