继续学习Unity3D 这周任务之一是要做一个太阳系,如下图:
而这次笔记的重点不在作业上~.~, 而是在于如何建立一个, 真正意义上的 “星系”。
上过课都知道, 作业简单用以下两条语句即可搞定:
Planet.gameObject.transform.RotateAround();
Planet.gameObject.transform.Rotate();
然而这样做并没有实现真的仿真, 因为:
1. 轨道只能是圆的..... 而大部分星球轨道不可能完全是圆, 只是有些轨道离心率略低看起来像是圆罢了。。。
2. 凭感觉(因为高中物理忘得差不多了), 这样弄出来的各个星球的转速放在同一个中心天体的星系中可能会违反物理规律.....
3. 用的物理模型本身就不符 ~。~ Rotate只有旋转而已, 不能体现各个星球之间对各自轨道的影响
------------------------------------装逼与正文分割线--------