Unity 用InverseTransformPoint方法计算两点之间的夹角
来源:互联网 发布:平板电脑js加载错误 编辑:程序博客网 时间:2024/05/16 04:23
求两点的夹角方式很多,这里记录下用InverseTransformPoint的方法求两个点夹角的方法。
首先Vector3 relative = A.transform.InverseTransformPoint(B.transform.position) 是用来计算B相对于A坐标系下的坐标(相当于向量B-向量A? 其实不是,因为这个方法受到A缩放值的影响,如果A的缩放是1,那结果就是向量B减去向量A的差值)。
了解这个方法之后,可以通过反正切的方法计算两点夹角:mathf.atan2(y,x),这个方法返回【-pi,pi】比math.atan()方法稳定。
图画的很low,能看懂就行
得到这个角度为float angle = Mathf.atan2(relative.z,relative.x) * Mathf.Rad2Deg;
A到B需要旋转的角度即为angle,Unity宝典中就是这个例子。
实际用的时候遇到了一个很简单的问题:我想让A围绕一个轴旋转到B
A.transform.RotateAround(B.transform.position,Vector3.up,angle);
发现A没有朝向B,其实原因很简单,就是A自身也是有旋转的,A起始状态就是在y轴有270度的旋转,只要加上这个角度即可。
float eulerAngleY = A.transform.eulerAngles.y;
A.transform.RotateAround(B.transform.position,Vector3.up,angle+eulerAngleY);
阅读全文
0 0
- Unity 用InverseTransformPoint方法计算两点之间的夹角
- cocos2d-x 计算两点之间的夹角
- cocos2dx和lua计算两点的夹角
- Unity计算两点之间的距离或者向量的长度常用方法
- 计算两点连线与X轴正方向的夹角
- 分针与时针之间夹角的计算
- unity3d计算两物体之间的夹角
- unity 计算两点的距离
- java计算两点之间的距离的两种方法
- 计算两点之间的距离
- 计算两点之间的距离
- 计算两点之间的距离
- 两点之间经纬度的计算
- 计算两点之间的距离
- 计算两点之间的距离
- Unity Android LBS 开发零星之 --Andriod中计算 两点经纬度之间的方向
- unity 计算两点的的角度
- Clock --计算时针与分针之间的夹角
- 自定义ScrollView控件 -- 拉申时跟随缩放效果
- 单节点redis的安装与配置
- eclipse安装到手机apk时INSTALL_FAILED_UPDATE_INCOMPATIBLE的安装错误
- 网络请求方式GET与POST的区别
- selenium组件介绍
- Unity 用InverseTransformPoint方法计算两点之间的夹角
- JStorm与Storm源码分析(二)--任务分配,assignment
- 针对GZIP文件类型的并行读取
- cookie存储数据(使用本地app-debug.aar包)--CookieUtil
- uiautomator 代码记录 : BT发送测试
- mysql解决大量time_wait
- Sting类型的xml解析数据
- 数据挖掘RapidMiner工具使用----解析客户流失模版CHURN MODELING
- 数学归纳法证明时间复杂度