想实现一堆陨石围绕地球旋转的效果,陨石是prefab动态添加的,使用rotateby函数陨石只能以自己内部的锚点为中心点来旋转,请问这种场景应该用什么方法?
1赞
可以使用贝塞尔曲线。
一条贝塞尔就可以完成的, 一个动画序列, 里面又贝塞尔,大小 ,位置 基本上就可以了, 再加入一个动作的循环。不过2D做这种,要调这个的时间可能要很久!
用三角函数计算一下就好了
地球是圆心
陨石是圆上的点
直接改陨石的锚点,(-10,0.5)就好啦,(-10这个值根据陨石跟地球的距离修改)
给你一个公式
ball.x=centerX+Math.cos(angle)*radius;
ball.y=centerY+Math.sin(angle)*radius;
center中心点位置
angle角度自加,可以默认为0然后angle+=dt
radius是半径
首先感谢回答~
不过我理解你说的这种只是移动,没有旋转?就是类似月亮面向地球的应该是同一面
这个好像可以 我设置锚点为(2,2)看起来大概是那个意思
请问贝塞尔曲线是说移动轨迹是椭圆之类的吗 我就想圆周运动就可以了 楼下说的那种设置锚点超过1的我感觉好像可以
那简单,你把锚点设置到球外面,然后直接使用ball.angle+=1就可以了,这样它就会一个面一直对着锚点方向做圆周运动。
是可以的,这个最简单。【给我个对勾】
贝塞尔曲线理论可以实现任何轨迹!
