Unity中的trigger

本文主要探讨Unity中的trigger,从概念、表现到实现进行详细解释。trigger被理解为一种消息传递机制,每帧检测,类似win32的信号量。在满足特定条件时,触发指定函数,每个周期只会调用一次。作者通过代码示例分析触发器的内部管理机制,认为触发器通过继承和hash表管理。此外,讨论了周期、显式调用和冲突处理等问题,提出了解决冲突的潜在方案。
摘要由CSDN通过智能技术生成

前言

最近在一家公司实习,公司用unity做项目,所以开始抛弃cocos,步入unity的深坑,笔主在研究unity时,发现网上很少有人会去分析引擎内部的实现,更加偏向于“是什么”而不是“为什么”,笔主接下来的一段时间可能都会写一些关于unity的个人理解,由于看不到源码,笔主只能通过类比cocos和UE来猜想unity的实现。

trigger的概念

trigger被称之为触发器,但其实这个翻译不太准确,trigger是一种tick方法,它会在每一帧被检测,触发在程序里的概念更合适于消息传递这种场景,比如win32底层的信号量机制。

trigger的表现

在学习了unity官方的几个教程之后,我总结了一下各种类所带有的trigger方法中,基本符合如下的情况:

  • 在满足一定条件时指定函数被调用
  • 在一个周期(此处不是指update)中只会被调用一次,在进入下一次周期时标志被重置

trigger的实现

此处我会贴上我写的一小段代码,来讲述一下我对trigger的理解(由于底层代码都是由c++实现的,此处也是c++代码):

class Trigger
{
public:
    Trigger():
        _name = 
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值