碰撞器與觸發(fā)器(collider&trigger)

有時候分不清collider里的trigger的用法,不知道什么時候會碰撞,有時候會穿過缔赠,在這里進(jìn)行辨析一下屑咳,都是我自己簡單的理解,如有錯誤,歡迎指正。

Collider:碰撞器,用于檢測自己的碰撞岛心,有大小。
Trigger:觸發(fā)器篮灼,用于檢測自己的穿透忘古,有大小。
rigidbody:剛體诅诱,物體的運(yùn)動物理屬性髓堪,無大小。
觸發(fā)器和碰撞器的區(qū)別在于是否將Collider的Is Trigger勾上逢艘。

我們實(shí)驗(yàn)來說明一下旦袋,先生成一個Cube做地面,再生成2個實(shí)驗(yàn)體Sphere和Capsule它改,


image.png

這兩個都加上剛體rigidbody疤孕,Sphere的 isTrigger 勾上,另一個不勾


image.png

他們的Use Gravity都勾上央拖,即使用重力


image.png

運(yùn)行發(fā)現(xiàn)祭阀,Sphere穿過了地面
image.png

如果把地面的isTrigger勾上鹉戚,則無論2個實(shí)驗(yàn)體的isTrigger是否勾上,落下時都會穿過专控。
由此我們發(fā)現(xiàn)抹凳,

  • 要使物體間穿透,這兩個物體至少一個是觸發(fā)器伦腐。
  • 觸發(fā)器使得可以被穿透赢底,不論穿過它的物體是否是觸發(fā)器。
    這就好像是《火影》里帶土的能力柏蘑,當(dāng)發(fā)動身體的虛化時幸冻,就像自己的身體成為了一個觸發(fā)器,成為了一個“虛體”咳焚,別的物體都可以穿過洽损。

rigidbody

我們給Sphere加上移動的腳本

public class PlayerController : MonoBehaviour {
    Rigidbody rigidbody;
    Vector3 v3;
    public int speed = 2;
    // Use this for initialization
    void Start () {
        rigidbody = transform.GetComponent<Rigidbody> ();
    }

    // Update is called once per frame
    void Update () {
        float x = Input.GetAxis ("Horizontal");
        float y = Input.GetAxis ("Vertical");
        v3 = new Vector3 (x, 0, y);
        rigidbody.AddForce (v3 * speed);
    }
}

移動起來后去碰撞Capsule,發(fā)現(xiàn)Capsule是否加上rigidbody會影響Capsule的反應(yīng)革半,沒加rigidbody時紋絲不動碑定,加上后一碰即倒。說明剛體rigidbody反應(yīng)了物體的運(yùn)動屬性又官。


image.png

觸發(fā)的方法

    // 進(jìn)入觸發(fā)范圍調(diào)用
    void OnTriggerEnter (Collider other) {
    }
    // 觸發(fā)范圍內(nèi)持續(xù)調(diào)用
    void OnTriggerStay (Collider other) {
    }
    // 離開觸發(fā)范圍調(diào)用
    void OnTriggerExit (Collider other) {
    }

碰撞的方法

// 碰撞開始調(diào)用  
    void OnCollisionEnter (Collision other) {
    }
    // 碰撞持續(xù)時調(diào)用
    void OnCollisionStay (Collision other) {
    }
    // 碰撞結(jié)束調(diào)用
    void OnCollisionExit (Collision other) { 
    }

注意只有2個物體都是碰撞器時才會觸發(fā)各自的OnCollsionXXX方法延刘,否則都只會觸發(fā)各自的OnTriggerXXX方法,即使有一個為碰撞器赏胚,另一個為觸發(fā)器访娶。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末商虐,一起剝皮案震驚了整個濱河市觉阅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秘车,老刑警劉巖典勇,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異叮趴,居然都是意外死亡割笙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門眯亦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伤溉,“玉大人,你說我怎么就攤上這事妻率÷夜耍” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵宫静,是天一觀的道長走净。 經(jīng)常有香客問我券时,道長,這世上最難降的妖魔是什么伏伯? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任橘洞,我火速辦了婚禮,結(jié)果婚禮上说搅,老公的妹妹穿的比我還像新娘炸枣。我一直安慰自己,他們只是感情好弄唧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布抛虏。 她就那樣靜靜地躺著,像睡著了一般套才。 火紅的嫁衣襯著肌膚如雪迂猴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天背伴,我揣著相機(jī)與錄音沸毁,去河邊找鬼。 笑死傻寂,一個胖子當(dāng)著我的面吹牛息尺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疾掰,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼搂誉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了静檬?” 一聲冷哼從身側(cè)響起炭懊,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拂檩,沒想到半個月后侮腹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡稻励,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年父阻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片望抽。...
    茶點(diǎn)故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡加矛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出煤篙,到底是詐尸還是另有隱情斟览,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布舰蟆,位于F島的核電站趣惠,受9級特大地震影響狸棍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜味悄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一草戈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧侍瑟,春花似錦唐片、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至庭瑰,卻和暖如春星持,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弹灭。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工督暂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人穷吮。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓逻翁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親捡鱼。 傳聞我的和親對象是個殘疾皇子八回,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評論 2 355