国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity 給物體添加多個標(biāo)簽(有源碼)

這篇具有很好參考價值的文章主要介紹了Unity 給物體添加多個標(biāo)簽(有源碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

本文簡介

為了彌補(bǔ)Unity Tag只能添加一個標(biāo)簽的缺陷,特地寫了一個組件Tag,和一個庫TagManager用于控制與管理組件Tag。組件與庫在同一個倉庫內(nèi),倉庫的下載地址會放在下面,可以自行下載并添加到項(xiàng)目中。就當(dāng)作普通的腳本使用即可。
這個庫簡單易用,哪怕你是新手也可以輕松駕馭。

下載地址

TagManager_Unity

GitHub : https://github.com/MR-XieXuan/TagManager_Unity

使用方法

下載組件與庫并安裝

src文件夾下的Tag.csTagManager.cs放到項(xiàng)目文件夾下。

使用Tag 組件

直接使用

Tag是一個組件,可以直接拖到物體上掛載組件,使用方法與其他組建類似。直接將Tag.cs拖到物體上即可掛載。掛載后可以點(diǎn)擊加號添加新的標(biāo)簽。
Unity 給物體添加多個標(biāo)簽(有源碼)

C# 中調(diào)用Tag API

API 描述 返回值
AddTag( string tag ) 傳入新的標(biāo)簽名tag添加新的標(biāo)簽 bool 是否是新的標(biāo)簽
IsTag( string tag ) 傳入標(biāo)簽名tag 查看是否有這個標(biāo)簽 bool 是否有這個標(biāo)簽
RemoveTag( string tag ) 傳入標(biāo)簽名 tag 去除這個物體的特定標(biāo)簽 bool 是否有這個標(biāo)簽

示例代碼:

/// <summary>
/// 當(dāng) 粒子 碰到碰撞體后
/// </summary>
/// <param name="other"> 被碰物體 </param>
private void OnParticleCollision(GameObject other)
{
	// 當(dāng)粒子碰撞到 Tag 為 Enemy 的物體打印該物體被攻擊 
    if ( other.TryGetComponent<tag>(out var com) )
    {
    	if( com.IsTag("Enemy") ){
    		Debug.Log("** " + com.name + "被攻擊!");
    	} else { }
    } else { }
}

建議搭配 TagManager Library使用

使用TagManager Library可以更方便的管理 Tag 組件。

使用 TagManager Library

在 C# 中使用

TagManager 是一個靜態(tài)對象,不用掛載到任何一個物體上,只需要掛載在項(xiàng)目下即可。
使用 TagManager 的增方法,會將物體添加到TagManager的緩存中,以方便獲取。

C# 中調(diào)用 TagManager API

API 描述 返回值
ObjAddTag(GameObject obj, string tag) 給物體obj添加一個標(biāo)簽tag 如果這個物體沒有Tag組件,則會自動掛載Tag組件 void
ObjDelTag(GameObject obj, string tag) 刪除物體obj的標(biāo)簽tag 如果這個物體沒有Tag組件那么什么都不會發(fā)生 void
GetTagObjsInManager(string tag) 獲取在 TagManager 緩存中有這個標(biāo)簽tag所有的對象 List<GameObject>
ObjHasTag(GameObject obj, string tag) 查看這個物體obj是否有這個標(biāo)簽tag這個方法與TagManager緩存無關(guān) bool 是否有這個標(biāo)簽
ObjHasTagInManager(GameObject obj, string tag) 查看這個物體obj在TagManager緩存中是是否有這個標(biāo)簽,此方法僅與TagManager緩存有關(guān),與物體本身的標(biāo)簽無關(guān) bool 在TagManager 緩存中是否有這個標(biāo)簽
Find(List list, List tagS) 從一個 物體的列表list找 擁有多個標(biāo)簽tagS符合 的物體 List 符合的物體列表
Find(List list, string tag) 從一個 物體的列表list找擁有特定標(biāo)簽tag 的物體 List 符合的物體列表

示例代碼

/// <summary>
/// 當(dāng) 粒子 碰到碰撞體后
/// </summary>
/// <param name="other"> 被碰物體 </param>
private void OnParticleCollision(GameObject other)
{
	// 當(dāng)粒子碰撞到 Tag 為 Enemy 的物體打印該物體被攻擊 
    if (TagManager.ObjHasTag(other, "Enemy"))
    {
        Debug.Log("** " + other.name + "被攻擊!");
    }
}

聯(lián)系作者

聯(lián)系作者

本庫還處于 Beta 階段,如果有更新我會在本博客發(fā)布更新說明。如果使用上遇到了困難或者發(fā)現(xiàn)了Bug,歡迎聯(lián)系作者提交你的發(fā)現(xiàn)。

文章來源地址http://www.zghlxwxcb.cn/news/detail-426654.html

E-mail: [ Mr_Xie_@outlook.com ]
GitHub: [ https://github.com/MR-XieXuan }
個人私站: [ https://main.mrxie.xyz/ ]

?如果本文對您有幫助的話,可以給本文點(diǎn)一個贊??或者是收藏本文??。也可以點(diǎn)擊關(guān)注Follow我。你的每一個贊可以給作者非常大的鼓勵。 ?如果遇到困難,歡迎聯(lián)系作者,你可以私聊作者或者添加作者QQ、發(fā)送電子郵件向作者尋求幫助。也可以在下方評論區(qū)向大家提問。你的問題如果在評論區(qū)被解決也可以給其他遇到同樣問題的一個參考。 作者不易,期待你的關(guān)注?。

到了這里,關(guān)于Unity 給物體添加多個標(biāo)簽(有源碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Unity切割圖片:把一張圖片中的物體裁成多個單獨(dú)的游戲物體

    Unity切割圖片:把一張圖片中的物體裁成多個單獨(dú)的游戲物體

    首先選中需要切割的圖片素材,將Inspector面板中的 Sprite Mode 由默認(rèn)的 Single改為Multiple ; 然后點(diǎn)擊 Sprite Editor ; 第一步之后便會彈出下例面板,然后 點(diǎn)擊Slice菜單 ,繼續(xù)點(diǎn)擊,便 會自動被分割好 ,最后 點(diǎn)擊右上角的Apply 。 點(diǎn)擊Apply后在右下角會彈出一個小的面板,你可以

    2024年02月05日
    瀏覽(18)
  • unity添加剛體后,穿過物體墜落

    unity添加剛體后,穿過物體墜落

    至于原因,好像是兩個實(shí)體的東西才能碰撞,如果只給球設(shè)置一個剛體(rigidbody),別的沒設(shè)置,就好像是除了球之外都是虛擬的,自然就被球給忽視了。再把地面也設(shè)置一個剛體,這樣它倆都是實(shí)體了,自然就會產(chǎn)生碰撞,相互阻攔。 給穿透的物體添加一個碰撞就好了,比

    2024年02月11日
    瀏覽(22)
  • Unity單個物體綁定多個相機(jī)在軌道上移動,錄制不同角度視頻

    Unity單個物體綁定多個相機(jī)在軌道上移動,錄制不同角度視頻

    打開包管理器 下載cinemachine插件 使用dolly track 創(chuàng)建軌道 右側(cè)可以刪減關(guān)鍵點(diǎn),注意調(diào)整y坐標(biāo) 把前面的軌道拖到path中,注意這里的 speed要設(shè)定不為0才會動 根據(jù)需求設(shè)定,F(xiàn)ollow這個設(shè)為cart才跟著走(Dolly Enable勾上),Look At設(shè)定為Cart才會讓相機(jī)跟著軌跡的變化視角轉(zhuǎn)換(設(shè)定

    2024年04月15日
    瀏覽(22)
  • unity給子物體動態(tài)添加boxcollider(碰撞盒)

    unity給子物體動態(tài)添加boxcollider(碰撞盒)

    在工作中遇到過給物體拍照截圖的功能,由于物體是動態(tài)加載并且大小不一,但是要求拍的照片正好被物體填充,因此需要動態(tài)計算物體大小,從而進(jìn)行調(diào)整,這種方法也可以進(jìn)行相機(jī)檢測物體是否在視野內(nèi)。使用方法非常簡單,只需要將要計算的物體放到空物體的子物體下

    2024年02月11日
    瀏覽(28)
  • 【Unity3D】使用 FBX 格式的外部模型 ( 向 Unity 中添加 FBX 模型 | 向 Scene 場景中添加 FBX 模型 | 3D 物體渲染 | 3D 物體材質(zhì)設(shè)置 )

    【Unity3D】使用 FBX 格式的外部模型 ( 向 Unity 中添加 FBX 模型 | 向 Scene 場景中添加 FBX 模型 | 3D 物體渲染 | 3D 物體材質(zhì)設(shè)置 )

    Unity 中使用的 3D 模型格式為 FBX , 使用如下建模軟件 可制作該類型模型 : 3Dmax Maya ZBrush Cinema4D Blender 建模完成后 , 將 3D 模型導(dǎo)出為 FBX ( .fbx ) 格式 即可在 Unity 中使用 ; 在 Project 文件窗口 中的 Asstes 目錄 下 , 創(chuàng)建一個模型目錄 Models , 將 模型文件直接從文件系統(tǒng)中拖到該目錄中

    2023年04月15日
    瀏覽(115)
  • unity多個物體多種材質(zhì)切換效果實(shí)現(xiàn)方法(方法比較笨,還有不足之處多多指導(dǎo))

    unity多個物體多種材質(zhì)切換效果實(shí)現(xiàn)方法(方法比較笨,還有不足之處多多指導(dǎo))

    多種材質(zhì)切換:獲取物體的MeshRenderer組件上所有的材質(zhì)球,并將其存放到數(shù)組中;創(chuàng)建另一個數(shù)組存放需要新材質(zhì)球,通過循環(huán)遍歷將將需要替換的材質(zhì)球存放在創(chuàng)建好的數(shù)組內(nèi)。 比如說同時給象棋的棋盤和棋子切換不同材質(zhì),具體步驟如下: 1.分別導(dǎo)入棋盤、棋子模型;黑

    2024年02月17日
    瀏覽(17)
  • Unity3D-場景中3D物體添加點(diǎn)擊事件

    Unity3D-場景中3D物體添加點(diǎn)擊事件

    Unity3D - 場景中3D物體添加鼠標(biāo)點(diǎn)擊事件 鼠標(biāo)點(diǎn)擊3D物體觸發(fā),Unity從本質(zhì)上來說有兩種:一種是通過事件(event)觸發(fā),一種是通過射線(ray)判斷穿過的物體觸發(fā)。這兩種觸發(fā)的原理是不同的,不論哪種觸發(fā)都必須滿足觸發(fā)的要求才可以,既然原理不同,觸發(fā)的要求也不一樣

    2024年02月08日
    瀏覽(101)
  • 十、Three場景實(shí)現(xiàn)多個物體的合并

    十、Three場景實(shí)現(xiàn)多個物體的合并

    目的 產(chǎn)品需求是讓物體的光柱墻包含一個多邊形的區(qū)域,二而我的多邊形只能使用原型,方向,多邊形。那么再研究的時候就需要將這些多邊形合并成為一個形狀,那么就行實(shí)現(xiàn)了。 原先的圖形 如上圖,是兩個mesh組成的。首先尋找mesh合并的方法。 在網(wǎng)上找了一下,能夠

    2024年01月17日
    瀏覽(83)
  • unity當(dāng)前物體朝向某個物體的方法

    匯總一下以上三種朝向某個物體的方法: 使用Transform.LookAt方法:這個方法可以將當(dāng)前物體的正面指向目標(biāo)物體。使用方法如下: 使用Quaternion.LookRotation方法:這個方法可以根據(jù)兩個向量的方向計算出物體的旋轉(zhuǎn)。使用方法如下: 使用Vector3.RotateTowards方法:這個方法可以將當(dāng)

    2024年02月09日
    瀏覽(24)
  • 3D建模之blender3.0如何添加并調(diào)出物體屬性框

    3D建模之blender3.0如何添加并調(diào)出物體屬性框

    blender3.0用起來頗為不那么友好,最基本的兩個操作,我竟然半天沒找著,還是上網(wǎng)查的答案,在此先記著了。 首先添加物體: 按shift+A鍵,可以調(diào)出添加物體的窗口,實(shí)際上你也可以用鼠標(biāo)去點(diǎn),只不過這個“添加”菜單比較隱晦,在主菜單的下方,眼神稍微不好點(diǎn)的就看不

    2024年02月11日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包