Unity C# | Tag和Layer差異與特性 & 抓取Tag物件

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

前言

  這篇文章會帶你了解Unity中Inspector最基本項目中的Tag&Layer,這兩個差別來自於學習父子物件關係,所以下一篇文章會簡單介紹父子關係,不過這兩篇文章的閱讀順序彼此不影響。
  最近在忙大專生研究計畫,那是科技部給大學生提前撰寫論文的管道,如果申請通過有豐厚的補助金讓你繼續完成論文,寫論文的感覺跟寫技術文章相似又相異,同樣富含邏輯,然而嚴格要求參考資料。
  其實我拖了很久,原本打算等春節結束尋找教授,結果包含春節連續撲空三次,導致我有種不見教授不行的感覺,然而算算時間不開工不行了,一整個超緊張,小小寫幾句發洩一下,希望一切順利。

物件類型:Tag和Layer

用途

  Tag跟Layer是一個更加高效的做法,他屬於Inspector最基本項目中的兩個下拉選單,協助降低耦合姓,以及Unity一些演算的輔助。

Tag

  用Unity以外的方式解釋,在方格子上面有標籤(HsahTag)用來協助讀者搜尋文章,也讓作者的文章更容易被發現,社群軟體上也有類似的作法,而Unity中則是協助查找物件,並判斷對象是否為需要的物件。
  • 為遊戲物件分類。
  • 方便查找遊戲物件。
  • 物件碰撞時的判斷。
  • 在TagMannager沒有限定所定義的數量。
  我的理解Tag是用來判斷物件,像是一個人的職業,可以快速定義好這個職業的名稱,在需要的人下面掛職業的標籤,不像名稱需要「完全正確」。

Layer

  使用其他設計軟體時,常常看到圖層(Layer),用來判斷物件的前後順序,在Unity中Layer除了讓Camera知道那些物件要被繪製外,跟照明、射線等有關。
  • 為遊戲物件分類。
  • 讓Collider了解不同Layer彼此的碰撞關係。
  • 讓Camera指定那些物件要被繪製。
  • 讓Light指定那些物件要被照明。
  • 讓物理射線確認那些物件要被偵測。
  • 在TagMannager有限定32個,前8個預設不可更改。
  基本上,內容我是參考下面這個網站「胡亂說‧隨便寫」,如果希望了解更多內容可以去他的網誌參考,這篇文章主要是做個概述和記錄。

抓取物件Tag物件

01. 遊戲物件(GameObject)抓取
GameObject respawn = GameObject.FindWithTag("...");
02. 遊戲物件(GameObject)清單(list)抓取
GameObject [] respawns = GameObject.FindGameObjectsWithTag("...");
03. 碰撞與觸發(OnColliderEnter/OnTriggerEnter...等等)判斷式
Void OnTriggerEnter(Collider other)
{
  if(other.tag == "..."){}
}

不同Layer碰撞設定

  在Edit→ProjectSetting(倒數第三欄第一個)→Physics2D→最下面,打勾的是兩個Layer彼此會互相碰撞,我在設定子彈碰撞體時有用上。

結尾

  這篇文章算是內容較簡單,知識類型的文章,如果不是太複雜應該差不多這樣的量,Unity本身也不算複雜,就是項目非常多,這也讓我的文章可以寫相對比較久(笑)。
  當我打算在方格子撰寫UnityC#類型時,我已經清楚每一個內容其實都有人寫過了,雖然我印象中台灣的學習資源不多,但肯定有人撰寫過(中文),不過從寫中學,內容參考較多的文章標註出處。
為什麼會看到廣告
avatar-img
瓶裝雪的沙龍
108會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
留言
avatar-img
留言分享你的想法!
瓶裝雪的沙龍 的其他內容
這篇文章會介紹一個靜態浮點數Time.deltaTime,並教導你製作計時器,以及計時器的相關知識與使用建議。
撰寫程式時,有沒有想過宣告的這些變數是怎麼運作的呢? 本文介紹了Value Type跟Reference Type,以及Variable的基本命名方式。
撰寫程式,如何命名很重要,本文舉例了兩種廣泛使用的命名法則,同時收錄了好程式的判斷依據和減少資源浪費的撰寫方式。
這篇文章會介紹一個靜態浮點數Time.deltaTime,並教導你製作計時器,以及計時器的相關知識與使用建議。
撰寫程式時,有沒有想過宣告的這些變數是怎麼運作的呢? 本文介紹了Value Type跟Reference Type,以及Variable的基本命名方式。
撰寫程式,如何命名很重要,本文舉例了兩種廣泛使用的命名法則,同時收錄了好程式的判斷依據和減少資源浪費的撰寫方式。
你可能也想看
Google News 追蹤
Thumbnail
【vocus 精選投資理財/金融類沙龍,輸入 "moneyback" 年訂閱 9 折】 市場動盪時,加碼永遠值得的投資標的——「自己」 川普政府再度拋出關稅震撼彈,全球市場應聲重挫,從散戶到專業投資人,都急著找尋買進殺出的訊號,就是現在,輪到知識進場!把握時機讓自己升級,別放過反彈的機會!
筆記:角色移動、相機控制與碰撞 1. 角色移動的基礎 移動方式選擇: Transform 組件:簡單易用,直接改變物件的位置與旋轉。 Rigidbody 物理效果:通過施加力實現真實移動,但需配置物理屬性。 現成組件或 Prefab:如 Unity 的 Character Control
第五章 筆記:使用類別、結構和物件導向程式設計(OOP) 目標與重要性 類別與物件導向程式設計(OOP):學習創建自定義類別,了解變數、建構子、方法,以及類別與結構之間的差異。 OOP 原則: 封裝(Encapsulation):限制對物件變數和方法的訪問權限。 繼承(Inherita
## 存取修飾詞詳解 在 C# 中有四種主要的存取修飾詞,但作為初學者,你最常用到的是以下兩種: 1. **Public**: 任何腳本都可以無限制地訪問 2. **Private**: 只能在它們被創建的類別(稱為包含類別)中訪問。任何沒有存取修飾詞的變數預設都是 Private
Thumbnail
這篇內容,將會用一個簡單的範例,來解釋物件(Object)和實體(Instance)的差別。包括Instance的簡介、ID、物件改變會影響實體。
Thumbnail
這篇內容,介紹了知識傳遞的三種型態,以及GameMaker教學的分類方式。閱讀本篇指南,能夠理解GameMaker教學的整體規劃和知識結構。
Thumbnail
本章節是一個初級的 TypeScript 教學,主要介紹了 TypeScript 中物件導向程式設計的各種核心概念,包括類別、建構子、存取修飾子、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型和反射等。每個概念都通過詳細的解釋和實例代碼來進行深入的介紹。
Thumbnail
本章節的目的是讓讀者瞭解C#的物件導向特性,包括類別、繼承、多型、封裝等基本概念,以及介面、抽象類別、靜態類別等進階主題。此外,本章節也將介紹如何使用列舉、委派、Lambda表達式、泛型及反射,這些都是C#中常見的強大功能。
Thumbnail
其他特殊材質調整 Particles Q:大家有沒有發現剛剛葉子是一面有顏色一面透明? A:Unity的渲染只有單面,超奇怪ㄉ啦,他軟體預設就是單面,要改成雙面也行,但會造成電腦負擔,所以只需在想要雙面渲染的物體上賦予即可,不用整個專案都給它。 單面渲染的情形 材質球著色器定義 Sh
Thumbnail
完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。 又講到變數? 在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為和性能,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料
Thumbnail
【vocus 精選投資理財/金融類沙龍,輸入 "moneyback" 年訂閱 9 折】 市場動盪時,加碼永遠值得的投資標的——「自己」 川普政府再度拋出關稅震撼彈,全球市場應聲重挫,從散戶到專業投資人,都急著找尋買進殺出的訊號,就是現在,輪到知識進場!把握時機讓自己升級,別放過反彈的機會!
筆記:角色移動、相機控制與碰撞 1. 角色移動的基礎 移動方式選擇: Transform 組件:簡單易用,直接改變物件的位置與旋轉。 Rigidbody 物理效果:通過施加力實現真實移動,但需配置物理屬性。 現成組件或 Prefab:如 Unity 的 Character Control
第五章 筆記:使用類別、結構和物件導向程式設計(OOP) 目標與重要性 類別與物件導向程式設計(OOP):學習創建自定義類別,了解變數、建構子、方法,以及類別與結構之間的差異。 OOP 原則: 封裝(Encapsulation):限制對物件變數和方法的訪問權限。 繼承(Inherita
## 存取修飾詞詳解 在 C# 中有四種主要的存取修飾詞,但作為初學者,你最常用到的是以下兩種: 1. **Public**: 任何腳本都可以無限制地訪問 2. **Private**: 只能在它們被創建的類別(稱為包含類別)中訪問。任何沒有存取修飾詞的變數預設都是 Private
Thumbnail
這篇內容,將會用一個簡單的範例,來解釋物件(Object)和實體(Instance)的差別。包括Instance的簡介、ID、物件改變會影響實體。
Thumbnail
這篇內容,介紹了知識傳遞的三種型態,以及GameMaker教學的分類方式。閱讀本篇指南,能夠理解GameMaker教學的整體規劃和知識結構。
Thumbnail
本章節是一個初級的 TypeScript 教學,主要介紹了 TypeScript 中物件導向程式設計的各種核心概念,包括類別、建構子、存取修飾子、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型和反射等。每個概念都通過詳細的解釋和實例代碼來進行深入的介紹。
Thumbnail
本章節的目的是讓讀者瞭解C#的物件導向特性,包括類別、繼承、多型、封裝等基本概念,以及介面、抽象類別、靜態類別等進階主題。此外,本章節也將介紹如何使用列舉、委派、Lambda表達式、泛型及反射,這些都是C#中常見的強大功能。
Thumbnail
其他特殊材質調整 Particles Q:大家有沒有發現剛剛葉子是一面有顏色一面透明? A:Unity的渲染只有單面,超奇怪ㄉ啦,他軟體預設就是單面,要改成雙面也行,但會造成電腦負擔,所以只需在想要雙面渲染的物體上賦予即可,不用整個專案都給它。 單面渲染的情形 材質球著色器定義 Sh
Thumbnail
完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。 又講到變數? 在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為和性能,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料