• 您的位置:首頁 > 新聞動態 > Unity3D

    Unity3D實(shí)現碰撞檢測方法(fǎ)技巧好簡單(dān)哦

    2019/11/1      點擊:
    一、碰撞檢測(cè)方法
    碰撞事件:當一個用剛(gāng)體控製的物(wù)體(tǐ)與另外一(yī)個物體碰撞時,就會觸發碰撞事件(目標物體必須帶有 Collider 組件),比如一款射擊類遊(yóu)戲,發射出的子彈可能會射中敵(dí)人(rén)也可能會射(shè)中箱子,我們就(jiù)需要監測這個碰(pèng)撞事件監測方法:
    OnCollisionEnter(Collision):當碰撞開始時調用(yòng),隻會調用該方(fāng)法一次(cì)
    OnCollisionExit(Collision):當碰撞結束時調用,隻(zhī)會調用該方法一次
    OnCollisionStay(Collision):當(dāng)碰撞進行中時,會持續調用該(gāi)方法
    Collision參數:一個類,用於傳遞碰撞信息對象
    Collision.gameObject屬性:當前物體碰(pèng)撞的物體的引用
    gameObject.name屬性:當前物體的(de)名字


    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class Coll: MonoBehaviour
    {
        void Start()
        {
            Debug.Log("StartforColl");     //輸出調試
        }
        void Update()
        {
     
        }
        void OnCollisionEnter(Collision coll)
        {
            if (coll.gameObject.name != "Ground")           //如果當前接觸到的(de)物體不是地麵
                Debug.Log("與物體" + coll.gameObject.name + "發生碰撞");
        }
        void OnCollisionStay(Collision coll)
        {
            if (coll.gameObject.name != "Ground")
                Debug.Log("與物體" + coll.gameObject.name + "重合");
        }
        void OnCollisionExit(Collision coll)
        {
            if (coll.gameObject.name != "Ground")
                Debug.Log("離開(kāi)物體" + coll.gameObject.name);
        }
    }

    各位大俠,是不是實現碰撞檢測功能超級簡單啊(ā)~~~ 


    91网站入口_91视频导航_91短视频在线_91视频在线免费观看