iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
自我挑戰組

從零開始學習Unity引擎系列 第 17

unity學習day17--碰撞與觸發

  • 分享至 

  • xImage
  •  

一. 碰撞

物體都會自帶一個碰撞的元件,建立一個平面和球體可以發現都有一個“Collider”的元件。
https://ithelp.ithome.com.tw/upload/images/20250919/201783733ebGvvdWZl.png

把球體“Collider”的Y軸調高可以看到有一個綠色的外框,這個就是物件的碰撞器,顧名思義,物件的碰撞只受到這個框的影響,產生碰撞的條件就是兩個物件都要有碰撞箱。
https://ithelp.ithome.com.tw/upload/images/20250919/2017837311CpobO9Rt.png

接下來就到了實驗的時候,在unity應用商店下載一個火焰的模組,並且給它添加“rigidbody”和“Collider”,這樣只要運行它就會掉下來。
https://ithelp.ithome.com.tw/upload/images/20250919/20178373nM0jR4FBdv.png

掉下來有點普通了,我想要做出類似爆炸的效果,也就是說讓它掉下來之後消失,建立一個空腳本“FireTest”,並且把腳本掛到火焰特效上。進入腳本後,寫一段監聽發生碰撞的腳本。
https://ithelp.ithome.com.tw/upload/images/20250919/20178373RQFf0XtA9n.png

另外還有兩個沒那麼常用的監聽碰撞,一個是監聽是否持續碰撞,另一個是監聽結束碰撞,不過主要是上面那個比較常用。
https://ithelp.ithome.com.tw/upload/images/20250919/20178373S09vsrG79L.png

由於找不到爆炸的素材,腳本裡的爆炸體和物件的爆炸效果就不寫了,就寫物件消失模擬爆炸之後的結果。
https://ithelp.ithome.com.tw/upload/images/20250919/201783737JxuiBqZTT.png

二. 觸發

建立一個平面和叫做“Player”的膠囊,並把前面的移動腳本掛上去,並且添加“Chacter Controller”,這樣圓柱體就可以移動了,不過攝影機的視角不太好。
https://ithelp.ithome.com.tw/upload/images/20250919/20178373jsbG8cmq9E.png

這裡就可以補充一個小知識,想要“場景”和“遊戲”的攝影機視角保持一致可以再“GameObject”這裡找到“對齊視圖”,這樣就可以讓上下的攝影機視角一致了
https://ithelp.ithome.com.tw/upload/images/20250919/20178373tTY8AxJqe1.png

接著建立一個紅色的材質和立方體,然後把材質拖到兩個物件上,同時為兩個物件添加“rigidbody”和“Collider”元件,這樣就高亮個兩個能夠進行碰撞的物件。
https://ithelp.ithome.com.tw/upload/images/20250919/20178373aOsqcLawnv.png

接下來要模擬在遊戲中走到某一區域,就會自動觸發機關,所以接下來就讓人物的碰撞箱和墻的碰撞箱接觸,接著讓墻消失,就能做出自動門的效果,不過碰撞和觸發還有一點小區別,觸發需要把其中一個物件的屬性設置為觸發器。
https://ithelp.ithome.com.tw/upload/images/20250919/20178373MUmQf1045Z.png

接下來在角落建立一個立方體,並且把它隱藏起來,也就是玩家視角看不見,但是碰撞箱還是存在,這樣看起來才像是一個自動機關,最後別忘了加上觸發器。
https://ithelp.ithome.com.tw/upload/images/20250919/20178373I9F7TIxPfl.png

但是怎麼監聽觸發呢?接下來建立空腳本“CubeControl”並把它掛到觸發方塊上,而且同樣有三個觸發方法。
https://ithelp.ithome.com.tw/upload/images/20250919/20178373byUdirVPXd.png

用程式碼檢測是否觸發碰撞,如果有的話就移除墻。
https://ithelp.ithome.com.tw/upload/images/20250919/201783735d2eJT9Cnn.png

可以看到立方體碰到了觸發器導致墻消失了。
https://ithelp.ithome.com.tw/upload/images/20250919/20178373yUvng5YCEC.png


上一篇
unity學習day16--角色的移動與重力系統
下一篇
unity學習day18--材質與射線
系列文
從零開始學習Unity引擎19
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言