当前位置: 首页 > news >正文

unity脚本API中OnCollisionEnter()、OnTriggerEnter()二者的区别

Unity中的OnCollisionEnterOnTriggerEnter两个函数在日常的开发中很常见但也容易混淆,下面说一说两者的区别。

请添加图片描述

碰撞器(Collider)与触发器(Trigger)的概念

碰撞器(Collider)和触发器(Trigger)都是Unity中用于检测物体之间交互的组件。它们的主要区别在于对物体之间交互的处理方式。

  • 碰撞器(Collider) 用于检测两个物体之间的碰撞。当两个物体进入彼此的碰撞边界时,它们会发生碰撞,此时会触发OnCollisionEnter函数。
  • 触发器(Trigger) 用于检测一个物体是否进入另一个物体的触发边界。当一个物体进入另一个物体的触发边界时,会触发OnTriggerEnter函数。

OnCollisionEnter与OnTriggerEnter的区别

  • 触发条件不同:OnCollisionEnter是在两个物体发生碰撞时触发,而OnTriggerEnter是在一个物体进入另一个物体的触发边界时触发。
    另外OnTriggerEnter需要在刚体中勾选Is Trigger选项。OnCollision则不需要。
    在这里插入图片描述

  • 处理方式不同:OnCollisionEnter通常用于实现物体的物理交互,如碰撞、弹跳等。而OnTriggerEnter通常用于实现一些特殊触发事件,如进入某个区域时触发特定行为。
    在这里插入图片描述

  • 参与对象数量不同:OnCollisionEnter只能处理两个物体之间的碰撞,而OnTriggerEnter可以处理一个物体进入多个物体的触发边界的情况。

  • 函数参数不同:OnCollisionEnter的参数是一个Collision对象,包含了与碰撞相关的信息,如参与碰撞的物体、碰撞点等。而OnTriggerEnter的参数是一个GameObject对象,表示触发该事件的物体。
    OnTriggerEnter(GameObject other)
    OnCollisionEnter(Collider other)

应用示例

通常游戏开发中,我们会有一个玩家和一个敌人的角色,当玩家进入敌人的触发边界时,敌人会识别并发出攻击。此时,我们可以使用OnTriggerEnter来实现这个功能。

void OnTriggerEnter(GameObject other)  
{  if (other.tag == "Player") // 玩家的标签为"Player"  {  // 玩家进入敌人的触发边界,敌人发出攻击  //攻击代码...}  
}

总结

OnCollisionEnterOnTriggerEnter虽然都是用于检测物体之间交互的函数,但它们的应用场景和处理方式有所不同。在实际开发中,我们需要根据具体开发需求选择合适的函数来实现所需的功能。

除此这两个函数外,还有跟两者配套使用的函数:

在这里插入图片描述

在这里插入图片描述

请添加图片描述

相关文章:

unity脚本API中OnCollisionEnter()、OnTriggerEnter()二者的区别

Unity中的OnCollisionEnter和OnTriggerEnter两个函数在日常的开发中很常见但也容易混淆,下面说一说两者的区别。 碰撞器(Collider)与触发器(Trigger)的概念 碰撞器(Collider)和触发器&#xff…...

2023年12月【考试战报】|ORACLE OCP 19C考试通过

2023年10月【考试战报】|ORACLE OCP 19C考试通过-CSDN博客文章浏览阅读122次。自OCP认证进入中国以来,越来越被大多数DBA所认可,也越来越被企业所重视,90%以上DBA深造,都会选择OCP认证。随着OCP认证在全国范围内的普及&#xff0c…...

鸿蒙操作系统:从手机到物联网,打造全场景智能体验

随着科技的不断发展,人们对于操作系统的需求也在不断升级。鸿蒙操作系统,作为华为推出的新一代智能终端操作系统,凭借其强大的分布式能力、流畅的用户体验以及丰富的应用生态,正逐渐成为人们关注的焦点。 一、鸿蒙操作系统概述 …...

[Ray Tracing: The Next Week] 笔记

前言 本篇博客参照自《Ray Tracing: The Next Week》教程,地址为:https://raytracing.github.io/books/RayTracingTheNextWeek.html 该教程在ray tracing in one weekend的基础上,增加了运动模糊、BVH树、Texture映射、柏林噪声、光照、体积…...

企业级实战项目:基于 pycaret 自动化预测公司是否破产

本文系数据挖掘实战系列文章,我跟大家分享一个数据挖掘实战,与以往的数据实战不同的是,用自动机器学习方法完成模型构建与调优部分工作,深入理解由此带来的便利与效果。 1. Introduction 本文是一篇数据挖掘实战案例,…...

dl转置卷积

转置卷积 转置卷积,顾名思义,通过名字我们应该就能看出来,其作用和卷积相反,它可以使得图像的像素增多 上图的意思是,输入是22的图像,卷积核为22的矩阵,然后变换成3*3的矩阵 代码如下 import…...

详解结构体(包含结构体内存对齐,柔性数组,位段)【尊嘟很详细】

​ 结构体 结构体是一些值的集合,这些值称为成员变量,结构的成员可以是标量、数组、指针,甚至是其他结构体。 成员名可以与程序中其它变量同名,互不干扰。 结构体的定义 (struct结构名{}) struct books {int a;c…...

我的NPI项目之Android系统升级 - 同平台多产品的OTA

因为公司业务中涉及的面比较广泛,虽然都是提供移动终端PDA,但是使用的场景很多时候是不同的。例如,有提供给大型物流仓储的设备,对这样的设备必需具备扫码功能,键盘(戴手套操作),耐用…...

pnpm包管理器

官网 优点 快速 pnpm 比 npm 快了近 2 倍高效 node_modules 中的所有文件均克隆或硬链接自单一存储位置支持单体仓库 pnpm 内置了对单个源码仓库中包含多个软件包的支持权限严格 pnpm 创建的 node_modules 默认并非扁平结构,因此代码无法对任意软件包进行访问 安…...

flutter websocket发送ping包?

背景 服务端要求flutter客户端隔一段时间发送ping包,以此来建立心跳管理长连接。 代码 import package:web_socket_channel/io.dart; IOWebSocketChannel _channel IOWebSocketChannel.connect(Uri.parse(SocketService.url),pingInterval: const Duration(seco…...

基于采样的自动驾驶规划算法 - PRM,RRT,RRT*,CL-RRT

本文将讲解PRM,RRT,RRT*自动驾驶规划算法原理,不正之处望读者指正 0 前言 机器人运动规划的基本任务:从开始位置到目标位置的运动 (1)如何躲避构型空间出现的障碍物 (2)如何满足机器…...

CGAL的D维范围树和线段树

范围树和线段树是两种数据结构,用于高效地处理和查询数据。 范围树(Range Tree)是一种二叉树,它通过递归地将每个节点分割成两个子节点来存储一个点集。每个节点表示一个范围,并且存储该范围内所有点的最小和最大值。范…...

005.HCIA 传输层

传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP (Transmission Control Protocol)和用户数据包协议UDP (User Datagram Protocol)。 1、相关概念 a. 传输层的端口 端口范围:0-65535 知名端口:0-1023&…...

LLM之RAG实战(八)| 使用Neo4j和LlamaIndex实现多模态RAG

人工智能和大型语言模型领域正在迅速发展。一年前,没有人使用LLM来提高生产力。时至今日,很难想象我们大多数人或多或少都在使用LLM提供服务,从个人助手到文生图场景。由于大量的研究和兴趣,LLM每天都在变得越来越好、越来越聪明。…...

【SpringCloud笔记】(10)消息总线之Bus

Bus 前言 戳我了解Config 学习Config中我们遇到了一个问题: 当我们修改了GitHub上配置文件内容,微服务需要配置动态刷新并且需要手动向客户端发送post请求刷新微服务之后才能获取到GitHub修改过后的内容 假如有多个微服务客户端3355/3366/3377…等等…...

超酷的爬虫可视化界面

大家好,本文主要介绍使用tkinter获取本地文件夹、设置文本、创建按钮下拉框和对界面进行布局。 1.导入tkinter库 导入tkinter的库,可以使用ttkbootstrap美化生成的界面 ttkbootstrap官网地址:https://ttkbootstrap.readthedocs.io/en/late…...

【kafka消息里会有乱序消费的情况吗?如果有,是怎么解决的?】

文章目录 什么是消息乱序消费了?顺序生产,顺序存储,顺序消费如何解决乱序数据库乐观锁是怎么解决这个乱序问题吗 保证消息顺序消费两种方案固定分区方案乐观锁实现方案 前几天刷着视频看见评论区有大佬问了这个问题:你们的kafka消…...

【PID精讲12】基于MATLAB和Simulink的仿真教程

文章目录 写在前面一、基于Simulink的仿真1. 新建Simulink模型2. 保存Simulink模型3. 建模4. 运行二、基于MATLAB的仿真1. 编码2. 运行3. 调整曲线格式4. 导出图窗写在前面 第11讲介绍的连续系统的数字PID仿真是基于 Matlab的 M 语言实现的,对于初学者或者工程应用人员来说,…...

手机无人直播:解放直播的新方式

现如今,随着科技的迅猛发展,手机已经成为我们生活中不可或缺的一部分。除了通讯、娱乐等功能外,手机还能够通过直播功能将我们的生活实时分享给他人。而针对传统的直播方式,使用手机进行无人直播成为了一种全新的选择。 手机无人…...

ios 之 数据库、地理位置、应用内跳转、推送、制作静态库、CoreData

第一节:数据库 常见的API SQLite提供了一系列的API函数,用于执行各种数据库相关的操作。以下是一些常用的SQLite API函数及其简要说明:1. sqlite3_initialize:- 初始化SQLite库。通常在开始使用SQLite之前调用,但如果没有调用&a…...

边缘机器学习实战:模型量化、剪枝与TensorRT部署全解析

1. 项目概述:当机器学习遇见边缘“边缘计算”和“机器学习”这两个词,这几年在技术圈里都快被说烂了。但当你真正把一个训练好的模型,塞进一个算力有限、功耗敏感、网络时有时无的边缘设备里,让它去实时处理摄像头画面、分析传感器…...

Ubuntu 22.04下编译安装Realtek RTL8852BE驱动,内核版本大于5.18和小于5.18的区别操作

Ubuntu 22.04下Realtek RTL8852BE驱动编译指南:内核版本差异全解析 当你兴奋地在新买的RedmiBook上安装Ubuntu 22.04,却发现WiFi图标神秘消失时,别慌——这很可能是因为Realtek RTL8852BE这块WiFi 6网卡在Linux下的驱动支持问题。作为一块性能…...

MifareOneTool完全指南:零基础掌握Windows最强NFC卡片管理工具

MifareOneTool完全指南:零基础掌握Windows最强NFC卡片管理工具 【免费下载链接】MifareOneTool A GUI Mifare Classic tool on Windows(停工/最新版v1.7.0) 项目地址: https://gitcode.com/gh_mirrors/mi/MifareOneTool 你是否曾经面对…...

5元级MCU Air601实战评测:硬件兼容、LuatOS开发与ESP12F迁移指南

1. 项目概述:一颗5元级MCU的“越级”挑战最近在捣鼓一个智能家居的小玩意儿,原本计划用ESP12F(也就是我们常说的ESP8266模组)来做,毕竟它生态成熟,资料遍地都是。但在采购物料时,偶然瞥见了合宙…...

告别‘有线无网’:手把手修复Ubuntu 20.04上RTL8168网卡的驱动‘掉链子’问题

深度排查Ubuntu 20.04下RTL8168网卡驱动的疑难杂症 当你满怀期待地在工作站上安装好Ubuntu 20.04,准备开始一天的高效开发时,却发现网络连接图标上那个刺眼的红色叉号——有线网络无法连接。这种"有线无网"的窘境,对于依赖网络工作…...

MySQL-进阶篇-锁

温馨提示:建议在PC端浏览~锁概述介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性…...

Intel 14代酷睿接口更迭:技术推演与用户决策指南

1. 项目概述:一次关于“接口更迭”的深度技术推演最近,关于下一代酷睿处理器的传闻又开始在圈内流传,一个核心的焦点再次被推上风口浪尖:Intel 14代酷睿(Raptor Lake Refresh)可能又要更换CPU插槽接口了。这…...

从零构建:基于YOLOv8/YOLOv10的智能游戏瞄准系统深度解析

从零构建:基于YOLOv8/YOLOv10的智能游戏瞄准系统深度解析 【免费下载链接】yolov8_aimbot Aim-bot based on AI for all FPS games 项目地址: https://gitcode.com/gh_mirrors/yo/yolov8_aimbot 你是否曾经好奇,人工智能技术如何精准识别游戏中的…...

订阅Token Plan套餐如何在实际开发中有效控制大模型调用成本

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 订阅Token Plan套餐如何在实际开发中有效控制大模型调用成本 对于开发团队而言,将大模型能力集成到自动化流程或内部工…...

YOLO11优化:CVPR2026 UCMNet |FrequencyCM赋能YOLO C3k2:从频域增强视角解决感受野与细节瓶颈

💡💡💡现有YOLO C3k2的问题点: 感受野受限:堆叠小核卷积(如33)难以捕获全局上下文,对尺度变化大、小目标或遮挡目标特征提取不足。 频域信息缺失:仅依赖空间域卷积,无法有效利用傅里叶域的高频细节,导致低对比度、模糊区域重建能力弱。 特征交互低效:通道间信…...