unity中碰撞检测相关问题

本文介绍了Unity中碰撞检测的基本概念,包括碰撞器、触发器和刚体组件。详细讲解了Collider系列的OnCollisionEnter、OnCollisionStay和OnCollisionExit方法,以及OnTriggerEnter、OnTriggerStay和OnTriggerExit方法。并给出了当检测到碰撞时如何使物体停止运动的解决方案:通过禁用脚本或设置刚体为动力学模式,以及利用位置更新来实现。
摘要由CSDN通过智能技术生成

在unity中,我们经常需要检测两个或多个物体之间是否发生碰撞,以及碰撞之后该如何处理等问题。下面我将总结一下自己在实践过程中遇到的一些问题,方便自己以后查阅,也希望能对帮助后来者有所帮助。

首先我们需要明确几个基本概念:

  • 碰撞器:可以简单的理解为添加在游戏对象身上的一个组件。当然了,碰撞器有很多种,常用的有 Box Collider,Sphere Collider,Capsule Collider,Mesh Collider等。
  • 触发器:可以理解为碰撞器组件中的一个属性(IsTrigger),当我们在检视面板(Inspector)的碰撞器组件中勾选了IsTrigger属性,就是用了触发器。
发生碰撞的必要条件:

1. 参与碰撞的物体身上必须都添加碰撞器(Collider)组件
2. 其中一个物体还必须添加刚体组件(Rigidbody),添加了这个组件的游戏对象可以接受外力和扭矩力,并且像真实的物体一样接受摩擦力和重力,还可以与其他物体发生相互碰撞。通常我们将Rigidbody添加给移动的物体

刚体组件的具体参数:
  • mass 质量,以千克计算。
  • drag 空气阻力,当物体受力运动时空气的阻力,以牛顿计算。
  • angular drag 空气角阻力࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值