UnityAPI学习之碰撞检测与触发检测

碰撞检测

发生碰撞检测的前提:

  1. 碰撞的物体需要有Rigidbody组件和boxcllidder组件

  2. 被碰撞的物体需要有boxcollider组件

示例1:被碰撞的物体拥有Rigidbody组件

两个物体会因为都具有刚体的组件而发生力的作用,如下图所示,当被碰撞的物体被碰撞时,两物体的刚体组件(Rigidbody组件)发生力的作用,从而达到gris(3)推着gris(1)向左移动的效果

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NO18_Collider : MonoBehaviour
{
    public float speed;
    private void Update()
    {
        transform.Translate(Vector2.left * speed * Time.deltaTime,Space.World);
    }
    private void OnCollisionEnter2D(Collision2D collision)
    {
        print("碰撞的物体为" + collision.gameObject.name);
    }

}

示例2:被碰撞的物体没有Rigidbody组件

被碰撞的物体没有刚体组件(Rigidbody组件),因此gris(3)不会推着gris(1)向左移动

触发检测

发生触发检测的前提:

  1. 碰撞的物体需要有Rigidbody组件和boxcllidder组件

  2. 被碰撞的物体需要有boxcollider组件并勾选IsTrigger选项

示例:

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NO18_Collider : MonoBehaviour
{
    public float speed;
    private void Update()
    {
        transform.Translate(Vector2.left * speed * Time.deltaTime,Space.World);
    }
    private void OnCollisionEnter2D(Collision2D collision)
    {
        print("碰撞的物体为" + collision.gameObject.name);
    }
    private void OnTriggerEnter2D(Collider2D collision)
    {
        print(collision.gameObject.name + "进入了");
    }
    private void OnTriggerStay2D(Collider2D collision)
    {
        print(collision.gameObject.name + "停留");
    }
    private void OnTriggerExit2D(Collider2D collision)
    {
        print(collision.gameObject.name + "走出了");
    }
}
相关推荐
hixiong12313 小时前
C# OpenvinoSharp使用DINOv2模型进行图像相似度计算
开发语言·c#
我命由我1234514 小时前
程序员的心理学学习笔记 - 空杯心态
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
stm32 菜鸟14 小时前
nucleo-f411re学习记录-13,flash的操作
学习
晓梦林14 小时前
3170靶场学习笔记
笔记·学习
月昤昽14 小时前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
Victory_202514 小时前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
ErizJ15 小时前
Redis|学习笔记
redis·笔记·学习
加油201915 小时前
方法论:如何系统性的学习?
学习·学习方法·方法论
小t说说15 小时前
科学素养培养:男孩女孩的不同“方程式”,真的有分性别学习平台?
学习
xian_wwq16 小时前
【学习笔记】变电保护、测控、安自、自动化系统概述
笔记·学习·保护