Unity C# | Layers

更新於 發佈於 閱讀時間約 4 分鐘

前言

  這篇文章會介紹圖層及相關應用,並藉由範例流程直白理解圖層的功用。

Layers | 圖層

  如果你是一名設計師,那你一定知道圖層是什麼,如果你不是,圖層是一種分類不同物件的透明片,就像蓋上一片片透明板一樣,圖層上面的圖案彼此不會互相影響,但有先後次序。

raw-image

相機射線

  在 Unity 中,射線是相機運作的一個重要機制,而我們可以把物件放置在不同的圖層中,再讓相機忽略某些圖層的物件,在遊戲設計中,可以藉由切換相機達到許多神奇的效果。

物理射線

  在遊戲程式的範疇中,我們會使用物理射線偵測某些物體,在這之中可以設定忽略某些圖層,或是確保打到某一個圖層後回傳,物理射線能抓取射中遊戲物件的資訊,配合圖層達到許多有趣的效果。

Unity C# | Physics.Raycast

碰撞偵測

  在遊戲程式的範疇中,我們會使用碰撞體 (Collider) 來模擬物體之間的碰撞情形,無論是 2D 還是 3D 遊戲,通常都會使用上碰撞體,而圖層能讓某些物體彼此不會互相碰撞,並針對某些物件碰撞。

Unity Component | Collider & isTrigger

Layers Setting | 設定圖層碰撞

  在遊戲中實際使用圖層,除了程式設定以外,總共會有兩個地方,一個是專案設置,另一個是遊戲物件的圖層。

Project Setting | 專案設置

raw-image

  在 Edit → Project Setting → Physics 的最下面,有 Layers 相關的設定可以做調整,其中打勾的部分是圖層彼此是否會互相影響,沒有勾選就會忽略。 

Game Object Layers | 設定遊戲物件圖層

raw-image

  在每一個遊戲物件中,都有 Layer 的設定可以選擇,同一個物件只能設定一個圖層,玩家可以使用 Add Layer 添加新圖層,總共能設定 32 層,並有一些是官方鎖定的圖層。

範例 | 讓角色穿越世界

  我以我最近設計遊戲的一個環節,稍作改編進行介紹,接下來我們會簡單敘述簡單 2D 平台遊戲,並使用 Layers 讓玩家穿越世界。

Step.1 創建世界

  首先,創建一個新的 2D 專案,創建 Cube 拉成長條放置在螢幕底端,添加遊戲組件 Box Collider 2D 製作地板,依據喜好建立一個角色,無論是官方的素材商店或是單純的一個 Cube 都可以。

Step.2 角色移動

  撰寫角色移動程式,請使用 Rigidbody 相關的角色控制,網路上有許多相關教學,如果沒接觸過 Unity ,可以從簡單的 2D 平台移動跳躍開始,作為學習 Unity 的拋門磚。

Step.3 碰撞阻礙

  添加兩個 Cube,放置在遊戲平台上面,添加遊戲組件 Box Collider 2D 讓他有碰撞體積,控制角色,確認玩家沒辦法穿越這兩個物件。

Step.4 圖層設置

  分別新增兩個不同的 Layer 並修改兩個物件,讓他們具有像異的圖層,打開專案設置(Project Setting),設定圖層物件,讓他們跟自己不會互相碰撞。

Step.5 切換圖層

  在圖層的左邊有數字編碼,這是這個圖層的 ID ,在程式腳本中設置一個按鍵,切換主角圖層,圖層是遊戲物件下,因此會使用 gameObject.Layer,然後直接指定 ID 就可以了。

Step.6 體驗!

  你現在可以體驗切換圖層了,當你按下按鍵,你就可以穿越不同的物件。

後記

  這次在撰寫 Layer 時,因為我製作的是 3D 遊戲,我自己的主角因為父物件下有掛許多子物件,然而切換圖層不會改變子物件的圖層,我卡在這部分卡很久。





留言
avatar-img
留言分享你的想法!
avatar-img
瓶裝雪的沙龍
111會員
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
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
這篇文章將會介紹第三人稱遊戲設計中,關於角色的建模與動畫的設計與製作。
Thumbnail
這篇文章將會介紹第三人稱遊戲設計中,關於角色的建模與動畫的設計與製作。
Thumbnail
這篇文章將會講述設計與製作一款第三人稱控制器所需要的工具、要素之概述。
Thumbnail
這篇文章將會講述設計與製作一款第三人稱控制器所需要的工具、要素之概述。
Thumbnail
這篇文章將會講述發散與構思具體行為的細節,包含文字、圖像、動畫,介紹彼此的優缺點與侷限性,最後逐個講述重點與核心。
Thumbnail
這篇文章將會講述發散與構思具體行為的細節,包含文字、圖像、動畫,介紹彼此的優缺點與侷限性,最後逐個講述重點與核心。
Thumbnail
在數創整合與作品集結束以後加速完工的專題作品,這篇文章將會講述遊戲類型概述與技術層面的成長。
Thumbnail
在數創整合與作品集結束以後加速完工的專題作品,這篇文章將會講述遊戲類型概述與技術層面的成長。
Thumbnail
這篇文章將會介紹 UGUI ,以及如何使用程式碼控制 UGUI 的座標。
Thumbnail
這篇文章將會介紹 UGUI ,以及如何使用程式碼控制 UGUI 的座標。
Thumbnail
這篇文章會介紹圖層及相關應用,並藉由範例流程直白理解圖層的功用。
Thumbnail
這篇文章會介紹圖層及相關應用,並藉由範例流程直白理解圖層的功用。
Thumbnail
這篇文章將會介紹 Unity 中關於物理碰撞與偵測事件,如何使用程式腳本撰寫相關的程式來控制遊戲物件,這是學習 Unity 必學知識,它們在 Unity 中具有不可撼動的核心地位。
Thumbnail
這篇文章將會介紹 Unity 中關於物理碰撞與偵測事件,如何使用程式腳本撰寫相關的程式來控制遊戲物件,這是學習 Unity 必學知識,它們在 Unity 中具有不可撼動的核心地位。
Thumbnail
本次將會講解事件第二頁的相關功能,包含人物、畫面、音樂、影片等等。
Thumbnail
本次將會講解事件第二頁的相關功能,包含人物、畫面、音樂、影片等等。
Thumbnail
本篇會說明有關於資料庫中「系統」的設定,這裡是用來設定整個遊戲的通用設定,比如說遊戲名稱、標題畫面、初始隊伍等等。
Thumbnail
本篇會說明有關於資料庫中「系統」的設定,這裡是用來設定整個遊戲的通用設定,比如說遊戲名稱、標題畫面、初始隊伍等等。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News