Unity 判断目标是否在左边或右边
使用差乘判断左右一般是比较差乘的y,小于0是左,大于0是右。特殊情况可以用其他分量来比较
默认情况
var cross = Vector3.Cross(lhsObject.transform.position, rhsObject.transform.position);
if (cross.y > 0) //side
if(cross.y < 0)//another side
用forward方向,从而对有旋转的对象进行比较:
void OnCollisionEnter(Collision other) {Vector3 direction = other.contacts[0].point - transform.position;var cross = Vector3.Cross(transform.forward, direction);if (cross.y < 0) print ("Left");else print("right");}
用Transform的right就可以比较是否在前后,很常用,对于赛车游戏的路点等都会用到
y>0 a在b后,y<0 a在b前
var dir = a.position - b.position;
var cross = Vector3.Cross(b.right, dir.normalized).y > 0;
if (cross) return;
论坛上还看见一个demo,加深理解(得到forward,up方向,取得right,left):
// original vector:var forward: Vector3 = Vector3(0.5, 0.7, 0.8);// up direction:var up: Vector3 = Vector3(0.0, 1.0, 0.0);// find right vector:var right = Vector3.Cross(forward.normalized, up.normalized);var left = -right;
Unity 判断目标是否在左边或右边相关推荐
- 判断点在线的左边、右边
判断点在线的左边还是右边在构建三角网时是非常重要的 以及两点p1(x1,y1),p2(x2,y2),判断点p(x,y)在线的左边还是右边. 1. bool LeftOfLine(const ZCoor ...
- Unity 判断目标分辨率是16比9还是16比10
用宽Screen.widht/高Screen.height 获取的数值判断是否是 16比10还是16比9 大于1.7f是16比9 否则为16比10..
- 判断点在直线的左边还是右边
我之前使用的方法是3 参考: https://www.cnblogs.com/carekee/articles/2299546.html 判断点在线的左边.右边 判断点在线的左边还是右边在构建三角网时 ...
- 判断点在线段的左边还是右边 判断线段是否相交
在recast中遇到的一个操作,判断点是在线段的左边还是右边 判断在左边和右边在很多场景都有用到,是计算机几何中比较基础的概念.比如判断是凹多边形还是凸多边形:判断点是凹点还是凸点:判断线段是否相交: ...
- Java的if判断对象为null时,null放在比较运算符的左边还是右边较好?
如java中:if(name == null)和if(null == name)有什么讲究吗? 答:在java里面,它们是一样的.但是通常写为null == name.这其实是在C语言里面引申出来的. ...
- 判断点在有向线段的左边还是右边
判断平面上的点与有向线段的位置关系是计算几何里面的最基本的问题,求解该问题的算法主要运用在凸壳的构造方面,如三角形,凸多变形的构造.网上最流行的两种判别方法是面积法和向量法,但这两种方法本质上是一样的 ...
- Unity 判断两物体碰撞方向
Unity 判断两物体碰撞方向 问题描述:游戏玩家可以在两个平面之间不断进行跳跃,且出现玩家顶着上面平面飞着走的情况. 问题原因:玩家碰撞体与平面不断进行碰撞体检测,导致游戏玩家可以不断进行跳跃. 解 ...
- Unity 向目标移动,并朝向目标
Unity 向目标移动,并朝向目标 var direction = Target.position - transform.position;//目标方向transform.Translate(dir ...
- 检测某向量在另一向量的左边还是右边
/// <summary> /// 检测某向量在另一向量的左边还是右边.为判断报亭在车行路线的左边还是右边. /// </summary> /// <param name ...
最新文章
- OpenCV捕获视频和摄像头
- Spark SQL程序实现RDD转换DataFrame
- Java 8的新增功能(第I部分-JavaFX)
- linux下将多个文件去除文件头合并_命令行生存指南:拆分与合并 | Linux 中国
- Android游戏的心跳效果
- P1614 爱与愁的心痛(python3实现)
- Java并发编程——线程带来的风险
- 二十二 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别...
- 让 Android WebView 支持文件下载的三种解决方案
- 动态规划系列-连续的子数组和(leetcode523)
- Cesium 计算一个点正北方向x米的另一个点的坐标
- hermite插值c语言程序,张艳-埃尔米特Hermite 插值逼近的C语言程序.doc
- 2022年南京医院三基考试耳鼻咽喉科学精选题及答案
- k3s部署思源并用流水线同步笔记
- TEST EAX,EAX作用
- 访问项目无法访问 此网站192.168.*** 拒绝了我们的连接请求。
- Linux常用命令——ss命令
- centos7 安装MySQL
- pytorch转onnx踩坑日记
- 时代互联报道:骗子盯上网银用户,认清银行网站域名,谨防上当