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". ...
随机推荐
- beta冲刺————第一天(1/5)
人员的再次分配: 调走人员:陈裕鹏(原来在本队伍主要进行文章推荐算法的设计) 调入人员:陈邡(原Dipper团队,负责游戏内容的策划案,以及做一些后端的探索工作.) 现队员工作划分: 王国华,吴君毅, ...
- 【Alpha 冲刺】 6/12
今日任务总结 人员 今日原定任务 完成情况 遇到问题 贡献值 胡武成 建立数据库 未完成 表结构文档已设计好,服务器mysql刚配置完成,但是,SpringMVC框架还没有熟络,不清楚如何使用该框架去 ...
- PyQt5--QCheckBox
1 # -*- coding:utf-8 -*- ''' Created on Sep 20, 2018 @author: SaShuangYiBing Comment: ''' import sys ...
- [pip] pip命令的安装、卸载、查找方法汇总
比如以selenium的为例 1.打开命令窗口(如果是win10,最好是通过管理员方式打开命令窗口,否则会出现安装时提示访问不拒绝) 2.安装selenium的指定版本,命令:pip install ...
- 解决The valid characters are defined in RFC 7230 and RFC 3986错误问题
分析原因: 导致上述问题是因为tomcat自tomcat 8.0.35版本之后对URL参数做了比较规范的限制,必须遵循RFC 7230 and RFC 3986规范,对于非保留字字符(json格式的请 ...
- 基于Map的简易记忆化缓存
背景 在应用程序中,时常会碰到需要维护一个map,从中读取一些数据避免重复计算,如果还没有值则计算一下塞到map里的的小需求(没错,其实就是简易的缓存或者说实现记忆化).在公司项目里看到过有些代码中写 ...
- 7.Deque的应用案例-回文检查
- 回文检测:设计程序,检测一个字符串是否为回文. - 回文:回文是一个字符串,读取首尾相同的字符,例如,radar toot madam. - 分析:该问题的解决方案将使用 deque 来存储字符串 ...
- 漫画:什么是HashMap?
漫画系列摘抄自程序员小灰的博客https://blog.csdn.net/bjweimengshu/article/list/3?t=1 ------------------------------- ...
- ICC2 常用命令
1. 关于 data preparation : report_ref_libs : report reference library report_lib lib_aa : report the ...
- 蓝桥杯 历届试题 网络寻路(dfs搜索合法路径计数)
X 国的一个网络使用若干条线路连接若干个节点.节点间的通信是双向的.某重要数据包,为了安全起见,必须恰好被转发两次到达目的地.该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同的转发路径 ...