Unity3D 灵巧小知识点 ☀️ | 求解 两个向量的夹角度数
Posted 呆呆敲代码的小Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D 灵巧小知识点 ☀️ | 求解 两个向量的夹角度数相关的知识,希望对你有一定的参考价值。
Unity 小科普
老规矩,先介绍一下 Unity 的科普小知识:
- Unity是 实时3D互动内容创作和运营平台 。
- 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。
- Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
- 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
Unity小知识点学习
求解 两个向量的夹角度数
在unity中经常会遇到求向量夹角的地方
比如:在已知两个向量后,求这两个向量之间的夹角度数
直接上两种最简单的求夹角的方法
代码1:
//向量1
Vector3 d1 = transform.forward;
//向量2
Vector3 d2 = new Vector3(0, 5, 0);
//求夹角
float angle = Vector3.Angle(d1, d2);
//打印结果
Debug.Log("向量夹角:" + angle);
代码2:
//向量1
Vector3 d1 = transform.forward;
//向量2
Vector3 d2 = new Vector3(0, 5, 0);
//d2.normalized向量归一化
float dot = Vector3.Dot(d1, d2.normalized);
//求夹角
float angle1 = Mathf.Acos(dot) * Mathf.Rad2Deg;
//打印结果
Debug.Log("向量夹角:" + angle);
在顺便说一下 求两个向量的法线向量 的代码
Vector3 d1 = transform.forward;
Vector3 d2 = new Vector3(0, 5, 0);
Vector3 cross = Vector3.Cross(d1, d2.normalized);
Debug.Log("法线向量:"+cross);
打印结果如下:
以上是关于Unity3D 灵巧小知识点 ☀️ | 求解 两个向量的夹角度数的主要内容,如果未能解决你的问题,请参考以下文章
Unity3D 灵巧小知识点☀️ | Unity脚本生命周期
Unity3D 灵巧小知识点 ☀️ | Unity退出游戏代码
Unity3D 灵巧小知识点 ☀️ | 让Unity支持后台运行
Unity3D 灵巧小知识点 ☀️ | Unity脚本中获取 本地时间