unity触发器和碰撞器
Unity中检测碰撞的方法有两种,一种是触发器一种是碰撞器,现在我来解释一下两种的区别。
触发器:有三种方法,分别是OnTriggerEnter,OnTriggerStay,OnTriggerExit 触发器一般是触发某种事物时使用,例如计分,过关什么的,不带有碰撞的物理效果。
碰撞器:有三种方法,分别是OnCollisionEnter,OnCollisionStay,OnCollisionExit 碰撞器一般是碰撞某种事物时使用,例如撞车,击中目标,带有碰撞的物理效果。
代码:
触发器:
void OnTriggerEnter(Collider other)
{
print("方法里写你想要的效果"); } void OnTriggerStay(Collider other)
{
print("方法里写你想要的效果"); } void OnTriggerExit(Collider other)
{
print("方法里写你想要的效果"); }
碰撞器:
void OnCollisionEnter(Collision other)
{
print("方法里写你想要的效果"); } void OnCollisionStay(Collision other)
{
print("方法里写你想要的效果"); } void OnCollisionExit(Collision other)
{
print("方法里写你想要的效果"); }
当然,这些是在3D的情况下,如果你做的是2D的游戏的话请在方法后面加上2D,如下:
void OnTriggerEnter2D(Collider2D collider)
{
print("方法里写你想要的效果");
} void OnCollisionEnter2D(Collision2D other)
{
print("方法里写你想要的效果");
}
其它的一样。
需要注意的是,当你使用触发器的时候别忘了打开触发器开关哦

unity触发器和碰撞器的更多相关文章
- Unity 碰撞检测中碰撞器与触发器的区别
要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动.碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞.如果两个刚体相互撞在一起,除非两个对 ...
- 【Unity笔记】碰撞器(Collision)与触发器(Trigger)的区别
当碰撞器Collision组件身上的属性IsTrigger勾选为True时,该碰撞器就成了触发器. 区别:1.能够产生的回调和函数不同.碰撞器:MonoBehaviour.OnCollisionEnt ...
- 碰撞器与触发器[Unity]
请看原帖,移步:Unity3d碰撞检测中碰撞器与触发器的区别 要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动.碰撞体是物理组件的一类,它要与刚体一起添加 ...
- Unity 碰撞器和触发器的理解
要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动.碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞.如果两个刚体相互撞在一起,除非两个对 ...
- Unity 碰撞器
Unity引擎的碰撞器 常见的有Box Collider,Capsule Collider等等 IsTrigger(触发器) 在这些碰撞器中有一个属性 Is Trigger(是否使用触发器) 触发器事 ...
- Unity3d碰撞检测中碰撞器与触发器的区别
要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动.碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞.如果两个刚体相互撞在一起,除非两个对 ...
- Unity3D --对撞机/碰撞器 介绍
碰撞器一般都用作触发器而用,刚体一般用作真实碰撞. 静态对撞机:一个对象有对撞机组件,没有刚体组件. 这种情况在场景中的静态物体应用较多,比如墙体,房屋等静止不动的物体. 物理引擎假设静态对撞机是不会 ...
- Unity -- Collider(碰撞器与触发器)
(2d与3d的Collider可以相互存在,但是无法相互协作,如2d是无法检测3d的,反之,一样) 在目前掌握的情况分析,在Unity中参与碰撞的物体分2大块:1.发起碰撞的物体.2.接收碰撞的物体. ...
- 关于Unity中的刚体和碰撞器的相关用法(二)
在关于Unity中的刚体和碰撞器的相关用法(一)的基础上 有一个plane平面,一个ball球体,都挂了碰撞器,ball挂了刚体Rigidbody,写了一个脚本ball挂载在球体上,球体从空中落下装机 ...
随机推荐
- 多线程之NSThread和NSObject
#pragma mark - NSThread实现多线程 /* // 获取当前线程 NSLog(@"currentThread = %@", [NSThread currentTh ...
- centos创建监控宝采集器及添加插件任务
官方的说明文档很不详细操作也有点小问题,故把操作记录如下. 操作系统环境: centos 5.8 python 2.4.3 创建采集器等操作这里就不说了,见官方文档:http://blog.jiank ...
- Effective Java 32 Use EnumSet instead of bit fields
Bit fields is used for passing around sets of constants. Such as // Bit field enumeration constants ...
- 如何成功发布一个MSMQ的Windows服务
因为MSMQ的使用需要不断的查看队列是否有新消息,所以一般是结合Windows的服务,当然也可以用一个不关闭的Winform程序,不过前者更好一些,不怕被人误关. 完成MSMQ的WindowsServ ...
- win10中文简体繁体切换快捷键
win10中文简体繁体切换快捷键Ctrl+Shift+F
- 读书笔记——Windows环境下32位汇编语言程序设计(3)一些基础知识
声明函数用proto 定义函数用proc 局部变量只能定义,不能赋初值,类型不能用缩写. 全局变量可以定义的时候赋初值,默认值为0. 在invoke中,参数可以使用addr取址. sizeof 字节长 ...
- D_S 顺序栈的基本操作
// main.cpp #include <iostream> using namespace std; #include "Status.h" typedef in ...
- android自定义radiobutton样式文字颜色随选中状态而改变
主要是写一个 color selector 在res/建一个文件夹取名color res/color/color_radiobutton.xml <selector xmlns:android= ...
- Azure CDN 启用HTTPS
默认情况下,订阅里的CDN不支持HTTPS 需要联系21v,提交工单告知订阅号,由后台为订阅启用CDN的HTTPS功能. 然后就可以在创建CDN时选到HTTPS的选项了.
- Tomcat 内存和线程配置优化
1. tomcat 的线程配置参数详情如下: 修改conf/server.xml中的<Connector .../> 节点如下: <Connector port="8080 ...