unity3d碰撞

unity3d碰撞

 

Unity3D提供了多个碰撞事件函数,用于处理不同类型的碰撞情况。常用的碰撞事件函数包括:

OnCollisionEnter:当两个物体开始碰撞时触发。这是碰撞的起始点,可以用于执行碰撞开始时的逻辑,如播放碰撞音效、改变游戏状态等。

OnCollisionStay:在两个物体持续碰撞的过程中不断触发。这个函数可以在物体持续碰撞时执行逻辑,如持续伤害、摩擦力效果等。

OnCollisionExit:当两个物体结束碰撞时触发。这个函数可以用于执行碰撞结束时的逻辑,如停止伤害、重置状态等。

 

复制代码
using UnityEngine;

public class CollisionExample : MonoBehaviour
{
    void OnCollisionEnter(Collision collision)
    {
        Debug.Log("Collision with " + collision.gameObject.name);
        
        // 可以根据碰撞物体的Tag或Layer来处理不同的逻辑
        if (collision.gameObject.CompareTag("Enemy"))
        {
            // 处理与敌人的碰撞
        }
        
        // 遍历碰撞点
        foreach (ContactPoint contact in collision.contacts)
        {
            Debug.Log("Collision Point: " + contact.point);
            Debug.Log("Collision Normal: " + contact.normal);
        }
    }

    void OnCollisionStay(Collision collision)
    {
        // 持续碰撞的逻辑处理
    }

    void OnCollisionExit(Collision collision)
    {
        // 碰撞结束的逻辑处理
    }
}
复制代码

 

 

###########################

posted @   西北逍遥  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2023-07-23 IfcMonthInYearNumber
2022-07-23 IfcTaskTimeRecurring
2021-07-23 Pset_MaterialFuel
2019-07-23 osg qt fbx ifc bim osg ive 3ds max rvt
点击右上角即可分享
微信分享提示