Unity3D中一个很基础的知识点是物体坐标位置的变换。这次让我们通过简单的太阳系制作来体验下。
先安利一个学习的入口------官方API。
首先摆上我的成品图。
(感觉GIF看起来比较有感觉,截图效果果然差一点
)

其实实现非常的简单。
第一步将建立9个球体,分别命名为sun,水星,金星,地球,火星,木星,天王星,海王星。(知道为什么太阳用英文而八大行星用中文吗?因为我写了sun之后发现后面的英文我都不会了

,六级考不好怪我咯)



然后改变球体的大小,接下来开始写脚本了。
首先定义一个坐标变量,和一个速度变量
public Transform origin;
public float speed;
接下来考虑旋转的问题
this.transform.RotateAround(origin.position, axis, speed * Time.deltaTime);
因为是绕同一个点旋转,坐标直接取太阳坐标即可,但是考虑到要不同法平面,所以axis必须不同。我们可以在start()里面随机ry, rx,使得不同的行星绕着不同的角度的轴旋转即可。
下面是完整代码