unity 让对象的任意一个方向(局部坐标)旋转来面对世界中任意一个点或移动的对象
2017-03-11 01:39
706 查看
类似Quaternion.LookRotation的效果(这个函数只能让对象的脸即z轴,面向一个点。不够灵活)
下面这个相对比较灵活:
Quaternion q;
GameObject obj;
//面对的对象,可以只是一个点
q=Quaternion.FromToRotation(new Vector3(x,y,z) , obj.transform.position-this.transform.position); //
///// 注意这里都是世界坐标,如果要转换,用transform.TransformPoint(...); 如果要普通方向面向目标,可以用Vector3.farward....back..left....等。特殊角度只要调节x,y,z的比例就可以。
this.transform.rotation=Quaternion.Lerp(transform.rotation,q,Time.deltaTime);//然后达到一个缓慢旋转的效果
下面这个相对比较灵活:
Quaternion q;
GameObject obj;
//面对的对象,可以只是一个点
q=Quaternion.FromToRotation(new Vector3(x,y,z) , obj.transform.position-this.transform.position); //
///// 注意这里都是世界坐标,如果要转换,用transform.TransformPoint(...); 如果要普通方向面向目标,可以用Vector3.farward....back..left....等。特殊角度只要调节x,y,z的比例就可以。
this.transform.rotation=Quaternion.Lerp(transform.rotation,q,Time.deltaTime);//然后达到一个缓慢旋转的效果
相关文章推荐
- 三维世界里的坐标和变换,逆方向旋转移动三维世界的方式来实现3D漫游
- Unity之一天一个技术点(一)---移动中始终面对对象
- 一个坐标点围绕任意中心点旋转--C#实现
- 如何判断任意四个点可以组成矩形及正方形 && 点绕另外一个点旋转后的坐标
- Unity3d修炼之路:GUIbutton简单使用,完毕对一个简单对象Cube的移动,旋转
- Unity游戏开发的数学与物理 3 ( 让物体延任意方向移动 )
- unity3D中 局部坐标,世界坐标以及屏幕坐标,transform变换坐标以及 变换方向心得
- 打印一个框,可以在平面内任意移动,并且要控制框中的一个坐标点,让它不能移动到框的外面
- 关于Unity中物体分别在本地和世界坐标系对应方向的移动
- Unity 世界坐标和局部坐标
- 在平面中,一个点绕任意点旋转θ度后的点的坐标
- Unity3d修炼之路:对一个简单对象Cube的移动 旋转和缩放
- unity 只有一个方向旋转的陀螺仪
- 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。
- unity 3D中关于世界坐标和局部坐标的区别
- Unity之一天一个技术点(十三)---以指定对象为中心,根据鼠标位置旋转照相机
- 在平面中,一个点绕任意点旋转θ度后的点的坐标
- unity 控制对象移动、旋转
- 【Unity】6.4 Transform--移动、旋转和缩放游戏对象