Unity碰撞事件和触发事件

简介: 大家在刚开始接触Unity的时候,一定要理解碰撞与触发

Unity碰撞条件和触发条件

    • 两个物体至少有一个带有刚体
    • 触发器需要在Collider组件中勾选Trigger属性
    • 碰撞和被碰撞的物体都需要加有 Collider 碰撞组件

    1. 碰撞器事件

    //碰撞开始
    public void OnCollisionEnter(Collision collision){
        Debug.log(collision.name);
    }
    //碰撞中
    public void OnCollisionStay(Collision collision){
         Debug.log(collision.name);
    }
    //碰撞结束
    public void OnCollisionExit(Collision collision){
         Debug.log(collision.name);
    }

    image.gif

    2. 触发器事件

    //触发开始 只调用一次
    public void OnTriggerEnter(Collider collider){
      Debug.log(collider.name);
    }
    //触发中 一直执行
    public void OnTriggerStay(Collider collider){
        Debug.log(collider.name);
    }
    //触发结束 只调用一次
    public void OnTriggerExit(Collider collider){
        Debug.log(collider.name);
    }

    image.gif

    目录
    相关文章
    |
    图形学
    Unity【Timeline】- 使用Signal Track添加事件
    Unity【Timeline】- 使用Signal Track添加事件
    887 0
    Unity【Timeline】- 使用Signal Track添加事件
    |
    图形学
    Unity 事件函数的执行顺序
    在 Unity 脚本中,有许多事件函数在脚本执行时按预定的顺序执行。这个执行顺序如下所述: 首个场景加载这些函数在场景开始时调用(对于场景中的每个对象调用一次)。 Awake:在所有 Start 函数之前,以及 prefab 实例化之后调用。
    2173 0
    |
    图形学
    Unity 3d 脚本常用事件汇总
    Awake()在MonoBehavior创建后就立刻调用,在脚本实例的整个生命周期中,Awake函数仅执行一次;如果游戏对象(即gameObject)的初始状态为关闭状态,那么运行程序,Awake函数不会执行;如果游戏对象的初始状态为开启状态,那么Awake函数会执行;值得注意的一点是,Awake函数的执行与否与脚本实例的状态(启用或禁用)并没有关系,而是与脚本实例所绑定的游戏对象的开关状态有关。
    1582 0
    |
    图形学
    Unity 动态加载Animator Event 事件
    搬迁原来博客海澜CSDN 前一阵子频繁更改模型,总是手动添加动画事件 animator events一直比较麻烦,我就想能不能动态的生成对应的动画事件呢,然后找了一些资料,试了下感觉还不错,分享给大家,欢迎大家留言交流~需要注意的是修改后的动画事件重新动态加载后依然保留,猜测注册修改的是元数据,除非注销或者程序停止才能恢复。
    1901 0
    |
    C# 图形学
    Unity 3D观察者设计模式-C#委托和事件的运用
    C#观察者设计模式 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、心...
    1786 0
    |
    Android开发 图形学
    安卓机在按HOME键时,UNITY触发的APPLICATION_PAUSE事件
    安卓机在按HOME键时,UNITY触发的APPLICATION_PAUSE事件   此时安卓程序会返回,在这一瞬间,程序可以通过SOCKET发送数据包给服务器告知,   经测试在这短暂的时间内,这个数据包能发出(异步发送也可以),服务器能收到   这个功能很有用,比如此时人物由服务器托管...