首页 > 代码库 > Unity 3D中的Transform.Rotate 与Transform.RotateAround 的区别
Unity 3D中的Transform.Rotate 与Transform.RotateAround 的区别
Transform.Rotate 旋转
应用一个欧拉角的旋转角度,eulerAngles.z度围绕z轴,eulerAngles.x度围绕x轴,eulerAngles.y度围绕y轴(这样的顺序)。
如果相对于留空或者设置为Space.Self 旋转角度被应用围绕变换的自身轴。(当在场景视图选择物体时,x、y和z轴显示)如果相对于 Space.World 旋转角度被应用围绕世界的x、y、z轴。
1 gameObject.transform.Rotate(new Vector3(0,1,0),Input.GetAxis("Horizontal");//表示按下左右键围绕Y轴旋转,旋转的方式如下图:
可以看出旋转中心与旋转轨道有一定的距离。就像地球绕太阳公转一样。
Transform.RotateAround 围绕旋转
按照angle度通过在世界坐标的point轴旋转物体。
简单的说,按照多少度在世界坐标的某位置轴旋转物体。
gameObject.transform.RotateAround(new Vector3(0, 0, 0), new Vector3(0, 1.0f, 0), Speed * Time.deltaTime * Input.GetAxis("Horizontal"));//表示按下左右移动键是,物体在指定的一点绕这Y轴旋转。旋转的方式如下图:
就像地球的自传一样。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。