Unity之触发器

这篇具有很好参考价值的文章主要介绍了Unity之触发器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

📕一、触发器概念 

📕二、碰撞与触发的区别

📕三、触发器小实例 

一、触发器概念 

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

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

Unity之触发器,摸鱼学Unity,unity,游戏引擎

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

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

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


二、碰撞与触发的区别

准备工作:

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

胶囊: 

Unity之触发器,摸鱼学Unity,unity,游戏引擎

public class PlayerControl : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        //水平轴
        float horizontal = Input.GetAxis("Horizontal");
        //垂直轴
        float vertical = Input.GetAxis("Vertical");
        //创建成一个方向向量
        Vector3 dir = new Vector3(horizontal, 0, vertical);

        //朝方向向量移动
        transform.Translate(dir * 10 * Time.deltaTime);
    }
}

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

Unity之触发器,摸鱼学Unity,unity,游戏引擎

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

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

Unity之触发器,摸鱼学Unity,unity,游戏引擎

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

 三、触发器小实例 

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

Unity之触发器,摸鱼学Unity,unity,游戏引擎

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

Unity之触发器,摸鱼学Unity,unity,游戏引擎

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

Unity之触发器,摸鱼学Unity,unity,游戏引擎

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

public class CubeControl : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void 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^)┛文章来源地址https://www.toymoban.com/news/detail-797041.html

到了这里,关于Unity之触发器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity】Trigger触发器失效没反应的解决办法

    今天遇到了一个问题,创建的角色进入传送门的时候无法传送。 看了所有的代码,确定没有问题之后,把目标瞄准到了Trigger上,在触发中添加了输出之后发现,触发器确实没有触发 众所周知,触发器触发需要两者都有触发器,其中一者勾选Is Trigger,其中一者有刚体就可以了

    2024年02月13日
    浏览(56)
  • Unity3D教程:触发器实现简单的场景跳转

    首先,需确保有一个想要跳转的目标场景。在本案例中,目标场景是ending。 第一步:创建一个碰撞体,放置在需要的触发场景跳转的位置。 第二步:删除多余的脚本,并且新建自己的脚本: 第三

    2024年02月12日
    浏览(56)
  • Unity_网格碰撞器-MeshCollider-触发器-Trigger 网格碰撞器(MeshCollider)内部没有触发检测 只在表面有触发检测

    Unity的触发器功能很好,但是也有问题。我来讲讲问题以及解决方案。 先上视频给大家看看效果: 自制触发器 首先约定几个特殊名词。 基元游戏物体:Cube、Sphere之类的。 基元碰撞器:BoxCollider、SphereCollider之类的。 基元触发器:把基元碰撞体的IsTrigger选中,就是基元触发器

    2024年02月03日
    浏览(43)
  • 【100个 Unity实用技能】☀️ | 关于触发器互相检测的必要前提条件配置

    老规矩,先介绍一下 Unity 的科普小知识: Unity 是 实时3D互动内容创作和运营平台 。 包括 游戏开发 、 美术 、 建筑 、 汽车设计 、 影视 在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和

    2023年04月09日
    浏览(77)
  • MySQL高级篇复盘笔记(一)【存储引擎、索引、SQL优化、视图、触发器、MySQL管理】

    ❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于 Java后端开发 ,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得 关注 、 点赞 、 收藏 、 评论 ⭐️⭐️⭐️ 📣 您的支持将是我创作的动力,让我们一起加油进步吧!!!🎉🎉 连接层

    2024年02月06日
    浏览(78)
  • 脉冲触发的触发器(主从触发器)

    脉冲触发的动作特点: (1)触发器的翻转分两步动作。 第一步:当CLK以高电平为有效信号时,在CLK= 1期间主触发器接收输入端(S、R或J、K)的信号,被置成相应的状态,而从触发器不动。 第二步: CLK下降沿到来时从触发器按照主触发器的状态翻转,所以Q、Q’端状态的改变发生在

    2024年02月04日
    浏览(53)
  • 【FGPA】Verilog:JK 触发器 | D 触发器 | T 触发器 | D 触发器的实现

    0x00 JK 触发器 JK 触发器是 RS 触发器和 T 触发器的组合,有两个输入端 J 和 K,如果两个输入端都等于 1,则将当前值反转。 行为表

    2024年02月05日
    浏览(49)
  • 数据库触发器简介——修改数据的触发器、删除数据的触发器

    修改数据的触发器 更新数据 思考下面这个触发器会触发几次?几条数据就触发几次。

    2024年02月15日
    浏览(51)
  • 【MySQL触发器】触发器的使用、创建、修改及删除

    一、什么是触发器 二、创建触发器 ①创建一个insert事件触发器 ②创建一个delete 事件触发器  三、触发器包含多条执行语句 四、查看触发器  ①SHOW TRIGGERS语句查看触发器 ②查看系统表triggers实现查看触发器   五、触发器的删除       当我们对一个表进行数据操作时,需

    2023年04月08日
    浏览(57)
  • Verilog设计实现D触发器与JK触发器

    题目:         用Verilog实现以下电路:                 1. 带复位端的正边沿触发的D触发器;                 2.带复位端的正边沿触发的JK触发器。 包括sys_clk,复位信号sys_rst_n,输入信号key_in以及输出信号led_out; 采用行为级描述: testbench仿真代码编写:

    2024年04月28日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包