Unity C# | OnCollision & OnTrigger

更新 發佈閱讀 6 分鐘

前言

  這篇文章將會介紹 Unity 中關於物理碰撞與偵測事件,如何使用程式腳本撰寫相關的程式來控制遊戲物件,這是學習 Unity 必學知識,它們在 Unity 中具有不可撼動的核心地位。

合併閱讀:《Unity Component | Collider & isTrigger》

前提條件

  當兩個遊戲物件(GameObject)都有碰撞體組件(Collider Component),並且其中一方擁有剛體(Rigidbody),通常是事件的發起人,依據 is Trigger 有沒有勾選,會有 Enter/Stay/Exit 共三種差異。

OnCollision | 物理碰撞體積

  在 Unity 遊戲設計中,會需要讓物件有碰撞體積,並且確認玩家碰撞的情況與情形,有三種不同的情形,物件彼此碰撞的當下、物件保持碰撞的時候、物件離開碰撞後。

OnCollisionEnter

  當物件彼此碰撞的當下,可以使用此函數進行事件,並且我們可以獲取被碰撞體的資訊,通常會放在遊戲物件,並偵測玩家後對玩家進行操作。

private void OnTriggerExit(Collider other)
{
  if (other.tag == "Player")
  {
    BoxCollider coli = GetComponent<BoxCollider>();
    coli.enabled = true;
  }
}

OnCollisionStay

  當物件保持碰撞的時候,可以使用此函數進行事件,並且我們可以獲取被碰撞體的資訊,將會每一幀觸發一次函式。

private void OnCollisionStay(Collider other)
{
  Debug.Log("玩家扣1滴血);
  //這行程式會狂跳。
}

OnCollisionExit

  當物件離開碰撞的時候,可以使用此函數進行事件,並且我們可以獲取被碰撞體的資訊,將只會觸發一次。

private void OnCollisionExit(Collider other)
{
  Debug.Log("玩家離開");
}

OnTrigger | 偵測觸發事件

  在使用上跟碰撞體(Collision)相同,需要勾選 is Trigger ,在這種情況下碰撞體內的全部範圍都會變成偵測範圍,玩家可以自由穿越其中,有物件進入偵測範圍、物件滯留在偵測範圍、物件離開偵測範圍三種不同模式。

OnTriggerEnter

  當玩家進入偵測範圍時,可以用在類似感應門的觸發事件,每次觸發一次事件,離開再進入可以重複觸發,配合上程式撰寫能做出拌線、地雷等一次性事件機關。

private void OnTriggerEnter(Collider other)
{
  Debug.Log("開門");
}

OnTriggerStay

  當玩家留在偵測範圍時,可以每幀觸發一次函數,很適合用在持續扣血的酸液池或消耗耐久度的毒霧等事件。

private void OnTriggerStay(Collider other)
{
  if(other.tag =="Player")
  {
    Rigidbody rigi = other.GetComponent<Rigidbody>();
    Debug.Log("玩浸泡在死亡池中");
    rigi.drag = sticky;
    player = other.gameObject;
    InPool = true;
  }
}

OnTriggerExit

  當玩家離開觸發範圍,會觸發一次函式,如果離開再進入會重複觸發,可以配合程式設計做出一次性的效果,或重複累計次數的機關。

private void OnTriggerEnter(Collider other)
{
  Debug.Log("關門");
}

應用

Unity | Third person | Color Pad | Hue myself 5

vocus|新世代的創作平台


Unity Third person | Death Pool | Hue Myself 2

vocus|新世代的創作平台

後記

  隨著我的遊戲設計旅途,我在撰寫教學文章上也越來越有心得,相較於當初的第一篇文章,相信我進步了很多,雖然我還是會擔心文章被盜或創意被竊的情況發生,但我還是走在這條路上。


瓶裝雪

你對我有興趣了?那太好了,我還有很多的作品跟知識可以讓你看看,無論是我對了抒發情感和鍛鍊文筆的生活與戀愛的文章、還是關於我自己專案的日程紀錄、粒子特效的作品展示,都可以在下面找到我。

最新消息與時間軸:

噗浪 ( plurk.com )

程式與設計:

臉書 ( Facebook.com )

痞客邦 ( pixnet.net )

戀愛與生活:

波波黛莉 ( popdaily.com.tw )

痞客邦 ( pixnet.net )

粒子與特效:

Instagram ( instagram.com )

Youtube ( youtube.com )

PixivFanbox ( fanbox.cc )

遊戲製作:

叭啦叭啦 ( gamer.com )

Twitter ( twitter.com )

Youtube ( youtube.com )


留言
avatar-img
瓶裝雪的沙龍
117會員
247內容數
你好,我是瓶裝雪!我是一名遊戲設計師!
瓶裝雪的沙龍的其他內容
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
看更多
你可能也想看
Thumbnail
最後我們將講解事件第三頁的指令,這個部分的指令有些比較少用到,但還是蠻實用的!
Thumbnail
最後我們將講解事件第三頁的指令,這個部分的指令有些比較少用到,但還是蠻實用的!
Thumbnail
這篇文章將會講述設計與製作一款第三人稱控制器所需要的工具、要素之概述。
Thumbnail
這篇文章將會講述設計與製作一款第三人稱控制器所需要的工具、要素之概述。
Thumbnail
本篇將會解說在恐怖或是解謎遊戲常會出現的,使用道具時顯示圖片來調查。
Thumbnail
本篇將會解說在恐怖或是解謎遊戲常會出現的,使用道具時顯示圖片來調查。
Thumbnail
這篇文章會介紹圖層及相關應用,並藉由範例流程直白理解圖層的功用。
Thumbnail
這篇文章會介紹圖層及相關應用,並藉由範例流程直白理解圖層的功用。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
這篇文章將會介紹 UGUI ,以及如何使用程式碼控制 UGUI 的座標。
Thumbnail
這篇文章將會介紹 UGUI ,以及如何使用程式碼控制 UGUI 的座標。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這篇文章將會介紹 Unity 中關於物理碰撞與偵測事件,如何使用程式腳本撰寫相關的程式來控制遊戲物件,這是學習 Unity 必學知識,它們在 Unity 中具有不可撼動的核心地位。
Thumbnail
這篇文章將會介紹 Unity 中關於物理碰撞與偵測事件,如何使用程式腳本撰寫相關的程式來控制遊戲物件,這是學習 Unity 必學知識,它們在 Unity 中具有不可撼動的核心地位。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
在數創整合與作品集結束以後加速完工的專題作品,這篇文章將會講述遊戲類型概述與技術層面的成長。
Thumbnail
在數創整合與作品集結束以後加速完工的專題作品,這篇文章將會講述遊戲類型概述與技術層面的成長。
Thumbnail
本次將會講解事件第二頁的相關功能,包含人物、畫面、音樂、影片等等。
Thumbnail
本次將會講解事件第二頁的相關功能,包含人物、畫面、音樂、影片等等。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News