Unity之触发器

目录

📕一、触发器概念 

📕二、碰撞与触发的区别

📕三、触发器小实例 

一、触发器概念 

第一次玩侠盗猎车手是在小学,从那以后就开启了我的五星好市民之路。

 下面是小编在小破站截的图,这是罪恶都市最开始的地方,大家一定很熟悉:

老市民们都知道走到粉红色圈里会触发剧情,它是控制游戏玩法和剧情走向的重要模块,这就是小编对触发器的理解。

 类似的功能在很多游戏中都有,触发器有看得见的(罪恶都市)也有看不见的(荒野大镖客2)

本篇带大家做一个简单的触发器小实例。


二、碰撞与触发的区别

准备工作:

  1. 我们新建一个平面(地面)、胶囊(玩家)、立方体(墙)
  2. 胶囊挂载 Rigidbody 组件,冻结旋转让它保持直立,挂载能使胶囊移动的脚本作为我们控制的玩家;
  3. 把立方体拉长形成一堵墙,新建材质添加颜色,让胶囊和墙更明显

胶囊: 

public class PlayerControl : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){//水平轴float horizontal = Input.GetAxis("Horizontal");//垂直轴float vertical = Input.GetAxis("Vertical");//创建成一个方向向量Vector3 dir = new Vector3(horizontal, 0, vertical);//朝方向向量移动transform.Translate(dir * 10 * Time.deltaTime);}
}

做好准备工作后我们按实现效果摆放好运行,控制胶囊去撞,发现过不去: 

有碰撞组件当然过不去了,那我们把墙变成一个触发器来看看。

很简单,把墙Box Collider组件中的是触发器属性勾上就可以了 √,再看一下效果:

可以看到这次胶囊就穿过去了,碰撞更像一个实物实体可触摸,触发像是一个虚拟的东西但它又是真实存在的,这就是他们的区别。

 三、触发器小实例 

我们先放效果图:我们控制玩家直行有墙过不去,走到特定位置触发机关墙消失,就可以通过了

  1.  把墙Box Collider组件中的是触发器属性取消勾选,作为一个实实在在的墙(doge.jpg)
  2. 新建一个立方体作为触发器,把立方体中Box Collider组件触发器属性勾选 √
  3. 立方体挂载我们编写的CubeControl脚本作为触发器触发后执行的动作
  4. 把立方体的MeshRenderer组件取消勾选,这样我们就看不到立方体了

注:这里的绿色边框是碰撞检测的边框同样也是触发器检测的边框

 触发器检测的三个方法,小编写上注释了

public class CubeControl : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}//进入触发: 角色进入触发器就会执行private void OnTriggerEnter(Collider other){//获取墙GameObject wall = GameObject.Find("Wall");//如果不为空说明获取到了if (wall != null){//获取到墙改为非激活状态(墙消失),这样我们控制的角色就可以走过去了wall.SetActive(false);}}//在触发中: 进入触发后会一直执行private void OnTriggerStay(Collider other){}//触发结束: 完全离开触发区域执行private void OnTriggerExit(Collider other){}
}

 触发器小实例就做完了,点击运行就是效果图的场景了,拜拜┏(^0^)┛

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/630375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MCU和MPU有什么区别

大家好,今天给大家介绍MCU和MPU有什么区别,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 MCU(Microcontroller Unit)和MPU(Micro…

Rust类型之数组和动态数组

数组动态数组类型arrayVec&#xff08;Vector&#xff09;&#xff0c;向量作用存储同一类型的多个值存储同一类型的多个值表示数组表示成[T; N]&#xff0c;由中括号括起来&#xff0c;中间用分号隔开&#xff0c;分号前面表示类型&#xff0c;分号后面表示数组长度。Vec<类…

蓝桥杯备赛 day 2 —— 二分算法(C/C++,零基础,配图)

目录 &#x1f308;前言&#xff1a; &#x1f4c1; 二分的概念 &#x1f4c1; 整数二分 &#x1f4c1; 二分的模板 &#x1f4c1; 习题 &#x1f4c1; 总结 &#x1f308;前言&#xff1a; 这篇文章主要是准备蓝桥杯竞赛同学所写&#xff0c;为你更好准备蓝桥杯比赛涉及…

从0到1:实验室设备借用小程序开发笔记

概论 实验室设备借用小程序&#xff0c;适合各大高校&#xff0c;科技园区&#xff0c;大型企业集团的实验室设备借用流程, 通过数字化的手段进一步提升相关单位设备保障水平&#xff0c;规范实验室和设备管理&#xff0c;用户通过手机小程序扫描设备的二维码&#xff0c;可以…

深入解析:如何使用Java、SpringBoot、Vue.js和MySQL构建课表管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

VS代码生成工具ReSharper v2023.3正式发布——支持C# 12

实质上&#xff0c;ReSharper特征可用于C#&#xff0c;VB.net&#xff0c;XML&#xff0c;Asp.net&#xff0c;XAML&#xff0c;和构建脚本。 使用ReSharper&#xff0c;你可以进行深度代码分析&#xff0c;智能代码协助&#xff0c;实时错误代码高亮显示&#xff0c;解决方案范…

STM32 定时器输入捕获3——捕获超长高电平

第一章&#xff1a;https://blog.csdn.net/m0_73671341/article/details/134773615?spm1001.2014.3001.5501 第二章&#xff1a;https://blog.csdn.net/m0_73671341/article/details/134938332?spm1001.2014.3001.5501 从第一章的定时器捕获我们可以知道&#xff0c;即使把定…

杂记:使用 mac 和 windows 以及编辑器的总结

Chrome 扩展 Grammarly 语法检查 DM Integration Module idm 下载扩展 JSON Formatter json 格式化查看 uBlock Origin Ad block 油猴 任意网站都可以使用的脚本管理工具 Mac 快捷键整理 截图到剪贴板 shift command control 4 (不按 shift 存储为文件) 切换输入法…

JavaScript基础(27)_内联样式的获取和修改、获取元素当前显示的样式

内联样式的获取和修改 获取元素的内联样式&#xff1a; 语法&#xff1a;元素.style.样式名 注意&#xff1a;通过style属性设置和读取的都是内联样式&#xff0c;无法读取样式表中的样式。 修改元素的内联样式&#xff1a; 语法&#xff1a;元素.style.样式名 样式值比如…

子文件夹中一个.py文件导入父文件夹中某个.py文件

虽然各种Python语言编程书籍中一再强调&#xff0c;自从Python 3.3版本后&#xff0c;构建Python的Package结构&#xff0c;不用在每个文件夹下添加__init__.py文件。上面这句话&#xff0c;仅仅针对的是从主文件夹中的主要.py来导入各个子文件夹的模块结构来说的。自己亲自试验…

并发编程之深入理解AQS

目录 什么是AQS&#xff1f; AQS的特性 AQS总结 什么是AQS&#xff1f; java.util.concurrent包中的大多数同步器实现都是围绕着共同的基础行为&#xff0c;比如等待队列、条件队列、独占获取、共享获取等&#xff0c;而这些行为的抽象就是基于AbstractQueuedSynchronizer&a…

WordPress后台仪表盘自定义添加删除概览项目插件Glance That

成功搭建WordPress站点&#xff0c;登录后台后可以在“仪表盘 – 概览”中看到包括多少篇文章、多少个页面、多少条评论和当前WordPress版本号及所使用的主题。具体如下图所示&#xff1a; 但是如果我们的WordPress站点还有自定义文章类型&#xff0c;也想在概览中显示出来应该…

【经验分享】美赛报名以及注册方法-以2024年美赛为例

1 进入美赛官网 首先点击COMAP的官网链接&#xff1a; https://www.comap.com/然后选择Contests目录下的MCM/ICM 选择 Learn More and Register 然后选择 register for contest 接下来开始注册环节&#xff0c;注册分为两个步骤&#xff1a;顾问&#xff08;指导教师&#xf…

Jsqlparser简单学习

文章目录 学习链接模块访问者模式parser模块statement模块Expression模块deparser模块 测试TestDropTestSelectTestSelectVisitor 学习链接 java设计模式&#xff1a;访问者模式 github使用示例参考 测试 JSqlParser使用示例 JSqlParse&#xff08;一&#xff09;基本增删改…

力扣(leetcode)第819题最常见的单词(Python)

819.最常见的单词 题目链接&#xff1a;819.最常见的单词 给你一个字符串 paragraph 和一个表示禁用词的字符串数组 banned &#xff0c;返回出现频率最高的非禁用词。题目数据 保证 至少存在一个非禁用词&#xff0c;且答案 唯一 。 paragraph 中的单词 不区分大小写 &…

MCU 是指微控制器单元(Microcontroller Unit)

MCU 是指微控制器单元&#xff08;Microcontroller Unit&#xff09;。 微控制器是一种集成了处理器核心、存储器、输入/输出接口和其他外围设备的集成电路。它通常用于嵌入式系统中&#xff0c;负责控制和执行特定任务&#xff0c;例如控制家电、汽车电子、工业自动化等。 M…

GitHub API使用--获取GitHub topic

目录标题 技术简介申请token简单使用使用Java调用获取GitHub topic总结 技术简介 GitHub API是一个功能强大的工具&#xff0c;为开发者提供了访问和操作GitHub平台上资源的途径。无论是构建个人工具&#xff0c;集成自动化流程&#xff0c;还是开发应用程序&#xff0c;GitHu…

用js做小功能

css <style>th,td,tr {width: 100px;border: 1px solid red;}table {/* border: 1px solid red; */border-collapse: collapse;text-align: center;}</style> html <table><thead><tr><th>序号</th><th>书名</th><t…

【Git】任何位置查看git日志

需求 现需要查看指定项目中的某个文件的 Git 日志。如有 项目代码 jflowable &#xff0c;需要查看其下文件 D:\z_workspace\jflowable\src\main\java\com\xzbd\jflowable\controller\TestController.java 的日志。 分析 一般的思路是&#xff0c;进入 jflowable 项目&#…

网络抓包命令tcpdump

网络抓包命令tcpdump "tcpdump -i any -nn -vv tcp port 9095 -s 0 -w dump.cap"命令是一个网络抓包命令&#xff0c;用于捕获流经指定网络接口的TCP协议、端口号为9095的网络数据包&#xff0c;并将这些数据包写入到名为"dump.cap"的文件中。 具体参数解…