Unity3D實現碰撞檢測方法技巧好簡單哦
2019/11/1 點擊:
一、碰(pèng)撞檢測方法
碰撞事(shì)件(jiàn):當一個用剛(gāng)體控(kòng)製的物體與另外一個(gè)物體碰撞(zhuàng)時,就會觸發碰撞事件(目標物體必須帶有 Collider 組件),比如(rú)一款(kuǎn)射擊類遊(yóu)戲,發射出的子(zǐ)彈可能會射中敵人也可能會射中箱子,我們就需要監測這個碰撞事件監測方(fāng)法:
OnCollisionEnter(Collision):當碰撞開始時調用(yòng),隻(zhī)會調用該方法一次
OnCollisionExit(Collision):當碰撞結(jié)束(shù)時調用(yòng),隻會調用該方(fāng)法一次
OnCollisionStay(Collision):當碰撞進行中時(shí),會持續調用該方法
Collision參(cān)數:一個類,用於傳遞碰撞信息對象
Collision.gameObject屬性:當前(qián)物(wù)體碰撞的物體的引用(yòng)
gameObject.name屬性:當前物體的名字
碰撞事(shì)件(jiàn):當一個用剛(gāng)體控(kòng)製的物體與另外一個(gè)物體碰撞(zhuàng)時,就會觸發碰撞事件(目標物體必須帶有 Collider 組件),比如(rú)一款(kuǎn)射擊類遊(yóu)戲,發射出的子(zǐ)彈可能會射中敵人也可能會射中箱子,我們就需要監測這個碰撞事件監測方(fāng)法:
OnCollisionEnter(Collision):當碰撞開始時調用(yòng),隻(zhī)會調用該方法一次
OnCollisionExit(Collision):當碰撞結(jié)束(shù)時調用(yòng),隻會調用該方(fāng)法一次
OnCollisionStay(Collision):當碰撞進行中時(shí),會持續調用該方法
Collision參(cān)數:一個類,用於傳遞碰撞信息對象
Collision.gameObject屬性:當前(qián)物(wù)體碰撞的物體的引用(yòng)
gameObject.name屬性:當前物體的名字
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Coll: MonoBehaviour { void Start() { Debug.Log("StartforColl"); //輸出(chū)調試 } void Update() { } void OnCollisionEnter(Collision coll) { if (coll.gameObject.name != "Ground") //如果當前接(jiē)觸到的物(wù)體不是地麵 Debug.Log("與物體(tǐ)" + coll.gameObject.name + "發生(shēng)碰撞"); } 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("離開物體" + coll.gameObject.name); } }
各位大俠,是(shì)不是實現碰撞檢(jiǎn)測功能超級簡單啊~~~
- 上一篇:unity3d中利用網格+貼圖繪製血(xuè)條/進度條 2019/11/1
- 下一篇:PYTHON調用C++DLL的參(cān)數傳遞方法 2019/9/16