棒棒棒,探讨了很多事情,而且不是很尬,除了作为科幻迷感觉逻辑上略有瑕疵外,其他都很好。第一浪到底是怎么来的,既然世界还在,还有婚庆船出航,说明沿海城市都没事,那浪如果又是陨石坠落导致的,只能说明人类对陨石发射了导弹,陨石碎片掀起了一阵大浪而已。第二世界还在,那么公司老总失踪这么久,消防力量就愣是没找到他们?当然,这些都瑕不掩瑜。

 

© 本文版权归作者  璀璨的未来
 所有,任何形式转载请联系作者。

运行后发现陨石的运动方向是混乱的,检查后发现原因为:为了使陨石的效果逼真而加入了的陨石旋转的效果,但在旋转的过程中,陨石的本地坐标系是变化的。

 

解决方式:使用世界坐标系控制陨石的直线运动,修改代码如下

 
在unity3d的世界中,其坐标系可分为四种,世界坐标系-WorldSpace  
本地坐标系-LocalSpace
 屏幕坐标系-ScreenSpace 视口坐标-ViewPortSpace。其中作者本人当前面对的是世界坐标系和本地坐标系的问题。本文讲诉这两个坐标系对物体运动的影响,其他的坐标系涉及到再做说明。

时间:2016年9月24日17:38:21  

 
 在学习unity3d官方例子(太空大战)的过程中,编写脚本对陨石的运动进行控制时发现旋转的陨石无法进行直线运动。其中,对陨石做直线运动的控制脚本语句为:

而控制脚本直线运动的函数使用的时本地坐标系(transform.Translate
在输入参数缺省情况下,默认使用本地坐标系),以此造成陨石“乱飞”的现象。

 

作者:yexiaopeng 博客园

其中 Space.World表示使用世界坐标系,而使用Space.Self或是缺省时,表示依照本地坐标系运动。

1 void Update () {
2         transform.Translate(Vector3.back * Time.deltaTime * speedMove, Space.World);
3     }
1 void Update () {
2         transform.Translate(Vector3.back * Time.deltaTime * speedMove);
3     }

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章