Version: 6000.3
语言: 中文
碰撞器类型之间的交互
OnTrigger 事件

OnCollision 事件

当两个非触发器碰撞体 用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格体形状完全相同 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
请参阅术语表
联系。

示例用法碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息
请参阅术语表
活动包括:

  • 当射弹击中目标时,摧毁射弹和敌人。
  • 当玩家角色触摸门时,触发动画打开门。
  • 当玩家角色接触道具时,增加玩家的体型。

处理冲突事件主要涉及以下 API 函数:

对于碰撞事件,至少一个涉及的对象必须具有动态物理形体(即,禁用了 运动学(Is Kinematic) 的刚体或关节体(ArticulationBody) )。如果同时游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
在碰撞中,运动物理体,碰撞不会调用OnCollision功能。

以下示例在 Unity 调用每个函数时向控制台打印一条消息。

using UnityEngine;
using System.Collections;

public class DoorObject : MonoBehaviour
{
    // “other” refers to the collider that is touching this collider
    void OnCollisionEnter (Collider other)
    {
        Debug.Log ("A collider has made contact with the DoorObject Collider");
    }

    void OnCollisionStay (Collider other)
    {
        Debug.Log ("A collider is in contact with the DoorObject Collider");
    }
    
    void OnCollisionExit (Collider other)
    {
        Debug.Log ("A collider has ceased contact with the DoorObject Collider");
    }
}

有关实际应用示例OnCollision事件,请参阅碰撞器事件的示例脚本

碰撞器类型之间的交互
OnTrigger 事件