unity物理检测的几种方式
(由于本人大多做2d游戏,因此以下以2d为主介绍,但是具体和3d相差不大)
在unity中有很多不同的物理检测方式,但是大致可以分为以下几种:
1.Physics2d检测系列
Physics2d.LineCast //linecast与raycast相同,只是表现的方式不同,适合用于枪械的激光射线等
Physics2D.RayCast
Physics2D.LineCastAll //获得两点之间的所有碰撞体,适合做视野检测
Physics2D.RayCastAll
Physics2D.BoxCast //往给定的方向的方形区域中的检测,这里适合检测前方是否有墙体等
Physics2D.OverlapArea //覆盖范围检测
2.RigidBody2D检测系列
rigidbody2D.cast //往某一个方向检测除了自身和子物体意外的所有碰撞体,获得所有碰撞点,这种方式的好处是可以检测玩家是否站在某一个碰撞体上,从而决定是否可以进行跳跃操作,具体见我的博客《unity中利用纯物理工具制作角色移动跳跃功能》
rigidbody2D.overlapxx //覆盖范围检测
3.碰撞器与触发器物理事件(常用)
在物理参数中常常遇到ContactFilter,这个参数其实是多个参数的集合体,为的是使得函数使用起来更加简洁,最典型的参数:lanyermask和是否可以检测触发器
另外说一下,官方的手册真的很清晰,即使是英文的,总体上也比较易懂
这里介绍一下BoxCast中的distance参数,这个distance是否可以理解为矩形往这个方向移动的一小段距离,在这个距离,或者说把这个矩形看作是一个很粗的射线的一个片元,好吧,我没有做个相关检测,这里我瞎猜一下。换种说法,这个矩形就好像一个photoshop画笔的形状,distance就是画笔画过的距离,当画笔画到终点,所覆盖的区域所检测到的碰撞体就是检测到的结果;或者类似手电筒,distance是手电筒光的长度。简单说,这是个有宽度的射线检测
unity物理检测的几种方式的更多相关文章
- VMware虚拟机直连物理网络的两种方式
VMware虚拟机直连物理网络的两种方式 使用VMware构建虚拟机,通常虚拟机都使用NAT模式.这时,虚拟机有独立的网段.使用NAT模式,虚拟机之间数据都通过虚拟网络传输,不会影响实体机所在的实 ...
- 盛大游戏技术总监徐峥:Unity引擎使用的三种方式
在5月13日Unite 2017 案例分享专场上,盛大游戏技术总监徐峥分享了使用Unity引擎的三种方式,以下为详细内容: 大家好,我先简单介绍一下我自己,我是盛大游戏的技术总监徐峥.我今天想分享的主 ...
- Unity调用Android的两种方式:其一、调用jar包
unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...
- asp.net用户检测的两种方式
第一种方式(继承System.Web.UI.Page类,重写OnInit方法): public class CheckSession : System.Web.UI.Page { ...
- unity解析json的两种方式
一直比较钟情于json,用来做数据交互,堪称完美!下面简单说一下unity使用C#脚本如何解析json数据吧. 一.写解析类,借助于JsonUtility.FromJson 直接给个例子吧 1.jso ...
- unity调用Android的两种方式:其二,调用aar包
上一篇我们讲了unity如何调用jar包 http://www.cnblogs.com/Jason-c/p/6743224.html, 现在我们介绍一下怎么生成aar包和unity怎么调用aar 一. ...
- JS中检测数据类型的几种方式及优缺点【转】
1.typeof 用来检测数据类型的运算符 typeof value 返回值首先是一个字符串,其次里面包含了对应的数据类型,例如:"number"."string&quo ...
- JS中检测数据类型的几种方式及优缺点
1.typeof 用来检测数据类型的运算符 typeof value 返回值首先是一个字符串,其次里面包含了对应的数据类型,例如:"number"."string&quo ...
- JS中检测数据类型的四种方式及每个方式的优缺点
//1.typeof 用来检测数据类型的运算符 //->typeof value //->返回值首先是一个字符串,其次里面包含了对应的数据类型,例如:"number". ...
随机推荐
- oracle数据库中如何去除空格
目前,我所知道的就有两种方法: 一.trim(a)--只能去除字符串左右的空格 select trim(leading from ' ——11—— ') aa from dual; select tr ...
- PAT乙级真题及训练题 1025. 反转链表 (25)
PAT乙级真题及训练题 1025. 反转链表 (25) 感觉几个世纪没打代码了,真是坏习惯,调了两小时把反转链表调出来了,心情舒畅. 这道题的步骤 数据输入,数组纪录下一结点及储存值 创建链表并储存上 ...
- 【Alpha 冲刺】 5/12
今日任务总结 人员 今日原定任务 完成情况 遇到问题 贡献值 胡武成 建立数据库 未完成 设计表结构的时候,有些逻辑没有设计好,重新review一番设想的功能才初步确定表结构 孙浩楷 根据UI设计, ...
- postgresql----几何类型和函数
postgresql支持的几何类型如下表: 名字 存储空间 描述 表现形式 point 16字节 平面上的点 (x,y) line 32字节 直线 {A,B,C} lseg 32字节 线段 ((x1, ...
- docker中使用的镜像加速器可以自己生成
只要你到该网址https://cr.console.aliyun.com/cn-hangzhou/mirrors登录(我使用的是支付宝帐号),然后你如下图操作,就能够看见你的加速器地址了,只要你登录就 ...
- std::lexicographical_compare函数的使用
按照词典序比较前者是否小于后者. 当序列<first1, last1>按照字典序比较小于后者序列<first2, last2>,则返回true.否则,返回false. 所谓字典 ...
- Arthas开源项目
本文主要围绕着Arthas是什么.能做什么.安装和使用等三个方面内容来讲解,希望对初学者和对此有兴趣的朋友有帮助. 一. Arthas是什么 文档地址: https://alibaba.github. ...
- ceph状态信息靠谱查询
1)检查集群的状态汇总信息: [root@haha1 clouder]# ceph -s cluster 8e136e25-77ab-4e0b-b24b-232a7b466cfe health HEA ...
- mvc 在view视图中直接输出rdlc报表文件(Excel、PDF、Word)
给一段代码做参考 public ActionResult RdlcReport(string code) { LocalReport localReport = new LocalReport(); ...
- overflow的使用
<div id="topFieldDiv" style="width: 650px; height: 150px; overflow-y: hidden" ...