unity物理检测的几种方式

(由于本人大多做2d游戏,因此以下以2d为主介绍,但是具体和3d相差不大)

在unity中有很多不同的物理检测方式,但是大致可以分为以下几种:

1.Physics2d检测系列

  Physics2d.LineCast   //linecast与raycast相同,只是表现的方式不同,适合用于枪械的激光射线等

  Physics.RayCast

  Physics.LineCastAll   //获得两点之间的所有碰撞体,适合做视野检测

  Physics.RayCastAll

  Physics.OverlapArea  //覆盖范围检测,适合检测如是否撞到墙等

2.RigidBody2D检测系列

  rigidbody.cast        //往某一个方向检测除了自身和子物体意外的所有碰撞体,获得所有碰撞点,这种方式的好处是可以检测玩家是否站在某一个碰撞体上,从而决定是否可以进行跳跃操作,具体见我的博客《unity中利用纯物理工具制作角色移动跳跃功能》

  rigidbody.overlapxx  //覆盖范围检测

3.碰撞器与触发器物理事件(常用)

在物理参数中常常遇到ContactFilter,这个参数其实是多个参数的集合体,为的是使得函数使用起来更加简洁

猜你喜欢

转载自www.cnblogs.com/xiaoahui/p/10403923.html