Unity3D中目标相对自身的前后左右方位判断
来源:互联网 发布:淘宝淘抢购报名入口 编辑:程序博客网 时间:2024/05/29 23:45
在做rpg类游戏的过程中,经常遇到要判断周围怪物相对自身的方位
1.判断目标在自己的前后方位可以使用下面的方法:
Vector3.Dot(transform.forward, target.position)
返回值为正时,目标在自己的前方,反之在自己的后方
2.判断目标在机子的左右方位可以使用下面的方法:
Vector3.Cross(transform.forward, target.position).y
返回值为正时,目标在自己的右方,反之在自己的左方
3.在这里顺便解说下关于空间向量的点积和叉积:
A.点积
点积的计算方式为: a·b=|a|·|b|cos<a,b> 其中|a|和|b|表示向量的模,<a,b>表示两个向量的夹角。另外在 点积 中,<a,b>和<b,a> 夹角是不分顺序的。
所以通过点积,我们其实是可以计算两个向量的夹角的。
另外通过点积的计算我们可以简单粗略的判断当前物体是否朝向另外一个物体: 只需要计算当前物体的transform.forward向量与 otherObj.transform.position 的点积即可, 大于0则在前方,否则在后方。
B.叉积
叉积的定义: c =a x b 其中a,b,c均为向量。即两个向量的叉积得到的还是向量!
性质1: c⊥a,c⊥b,即向量c垂直与向量a,b所在的平面 。
性质2: 模长|c|=|a||b|sin<a,b>
性质3: 满足右手法则 。从这点我们有axb ≠ bxa,而axb = – bxa。所以我们可以使用叉积的正负值来判断向量a,b的相对位置,即向量b是处于向量a的顺时针方向还是逆时针方向
- Unity3D中目标相对自身的前后左右方位判断
- Unity3D中目标相对自身的前后左右方位判断
- Unity3D中目标相对自身的前后左右方位判断
- Unity3D中目标相对自身的前后左右方位判断
- Unity中判断目标在自己的哪个方位
- [Unity3D]AR应用中,关于东南西北方位的判断。
- unity判断其它物体相对于自身方位以及角度
- unity判断其它物体相对于自身方位以及角度
- unity3d 判断敌人在我的前后方向
- 如何判断左右前后车距
- 前后左右出现的窗口
- 2D中如何判断一点在另一个点的那个方位
- 2D中如何判断一点在另一个点的那个方位
- 如何在Ubuntu QML应用中判断应用的方位(landscape或portrait)
- unity3d 判断目标物体对于我的方向
- Unity3D控制物体前后左右移动、旋转及相机跟随
- U3D中运用向量点乘判断方位
- 设置EditTExt前后左右的图片
- uva 12545 - Bits Equalizer(比特变化器)
- 2.jQuery 基础核心
- 华为OJ:DNA序列
- 浅谈汽车转向灯的具体拆装方法
- iOS开发学习笔记 2-7 C语言部分 字符串
- Unity3D中目标相对自身的前后左右方位判断
- Fiddler 教程
- linux yum的配置文件 repo文件详解
- IOS 调试日志输出
- mysql中的text,mediumtext,longtext在Hibernate中的类型映射
- ffmpeg 新老接口问题及对照集锦 .
- 工程中使用json-lib生成JSONObject产生一些异常的解决办法
- 强制类型转换注意事项
- UCenter在JAVA项目中实现的单点登录应用实例