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

    Unity3D實現碰撞檢測方法技巧好簡(jiǎn)單哦

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


    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)物體不(bú)是地麵(miàn)
                Debug.Log("與物體" + coll.gameObject.name + "發生(shēng)碰撞");
        }
        void OnCollisionStay(Collision coll)
        {
            if (coll.gameObject.name != "Ground")
                Debug.Log("與物體" + coll.gameObject.name + "重合(hé)");
        }
        void OnCollisionExit(Collision coll)
        {
            if (coll.gameObject.name != "Ground")
                Debug.Log("離開物體" + coll.gameObject.name);
        }
    }

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


    网站地图 正能量网-传播正能量弘扬主旋律-免费正能量网站www正能量-免费正能量网站www正能量下载在线观看官网