Unity3D中Layers和LayerMask解析

Unity中是用int32來表示32個Layer層。int32表示二進(jìn)制一共有32位(0—31)曲初。
在Unity中可編輯的Layer如下圖所示:

在Unity中每個GameObject都有Layer屬性降宅,默認(rèn)的Layer都是Default。在Unity中可編輯的Layer共有24個(8—31層),官方已使用的是0—7層氓轰,默認(rèn)不可編輯!

LayerMask實際上是一個位碼操作浸卦,在Unity3D中一共有32個Layer層署鸡,并且不可增加。

位運算符###

按位運算符:~限嫌、|靴庆、&、^怒医。位運算符主要用來對二進(jìn)制位進(jìn)行操作炉抒。

邏輯運算符:&&、||稚叹、端礼!禽笑。邏輯運算符把語句連接成更復(fù)雜的復(fù)雜語句。

按位運算符:左移運算符<<蛤奥,左移表示乘以2佳镜,左移多少位表示乘以2的幾次冪。

舉個栗子:

var temp = 14 << 2; 表示十進(jìn)制數(shù)14轉(zhuǎn)化為二進(jìn)制后向左移動2位凡桥。

temp最后計算的值為 14乘以2的平方蟀伸,temp = 56;

同理缅刽,右移運算符>>啊掏,移動多少位表示除以2的幾次冪。

具體可以轉(zhuǎn)到博客:按位運算符.

上面是個基礎(chǔ)知識的補(bǔ)充衰猛。

在Unity中是用LayerMask###

Layers

官方給出的描述是:Layers are most commonly used by Cameras to render only a part of the scene, and by Lights to illuminate only parts of the scene. But they can also be used by raycasting to selectively ignore colliders or to create collisions迟蜜。

翻譯下就是:Layers通常被攝像機(jī)用來渲染部分場景,和燈光照射部分場景使用啡省。但是它們也可以用來做射線檢測時忽略一些collder或Collision使用娜睛。

如何編輯Layers.

在代碼中使用時如何開啟某個Layers?

LayerMask mask = 1 << 你需要開啟的Layers層卦睹。

LayerMask mask = 0 << 你需要關(guān)閉的Layers層畦戒。

舉幾個個栗子:

LayerMask mask = 1 << 2; 表示開啟Layer2。

LayerMask mask = 0 << 5;表示關(guān)閉Layer5结序。

LayerMask mask = 1<<2|1<<8;表示開啟Layer2和Layer8障斋。

LayerMask mask = 0<<3|0<<7;表示關(guān)閉Layer3和Layer7。

上面也可以寫成:

LayerMask mask = ~(1<<3|1<<7);表示關(guān)閉Layer3和Layer7徐鹤。

LayerMask mask = 1<<2|0<<4;表示開啟Layer2并且同時關(guān)閉Layer4.

代碼:


using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
    LayerMask mask =  ~(1<<3|1<<7);
    void Update() {
        if (Physics.Raycast(transform.position, transform.forward, 100, mask.value))
            Debug.Log("Hit something");

    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末垃环,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子返敬,更是在濱河造成了極大的恐慌遂庄,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件救赐,死亡現(xiàn)場離奇詭異涧团,居然都是意外死亡只磷,警方通過查閱死者的電腦和手機(jī)经磅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钮追,“玉大人预厌,你說我怎么就攤上這事≡模” “怎么了轧叽?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵苗沧,是天一觀的道長。 經(jīng)常有香客問我炭晒,道長待逞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任网严,我火速辦了婚禮识樱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘震束。我一直安慰自己怜庸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布垢村。 她就那樣靜靜地躺著割疾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嘉栓。 梳的紋絲不亂的頭發(fā)上宏榕,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機(jī)與錄音胸懈,去河邊找鬼担扑。 笑死,一個胖子當(dāng)著我的面吹牛趣钱,可吹牛的內(nèi)容都是我干的涌献。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼首有,長吁一口氣:“原來是場噩夢啊……” “哼燕垃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起井联,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤卜壕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后烙常,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體轴捎,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年蚕脏,在試婚紗的時候發(fā)現(xiàn)自己被綠了侦副。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡驼鞭,死狀恐怖秦驯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挣棕,我是刑警寧澤译隘,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布亲桥,位于F島的核電站,受9級特大地震影響固耘,放射性物質(zhì)發(fā)生泄漏题篷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一厅目、第九天 我趴在偏房一處隱蔽的房頂上張望悼凑。 院中可真熱鬧,春花似錦璧瞬、人聲如沸户辫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽渔欢。三九已至,卻和暖如春瘟忱,著一層夾襖步出監(jiān)牢的瞬間奥额,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工访诱, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留垫挨,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓触菜,卻偏偏與公主長得像九榔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子涡相,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 每個UIView有一個伙伴稱為layer哲泊,一個CALayer。UIView實際上并沒有把自己畫到屏幕上;它繪制本身...
    shenzhenboy閱讀 3,088評論 0 17
  • 轉(zhuǎn)載:http://www.reibang.com/p/32fcadd12108 每個UIView有一個伙伴稱為l...
    F麥子閱讀 6,157評論 0 13
  • 快速小測試:如何重寫下面的語句?要求不使用條件判斷語句交換兩個常量的值丙号。 if (x == a) x= b; el...
    Colay閱讀 826評論 0 0
  • 在iOS中隨處都可以看到絢麗的動畫效果先朦,實現(xiàn)這些動畫的過程并不復(fù)雜,今天將帶大家一窺ios動畫全貌犬缨。在這里你可以看...
    每天刷兩次牙閱讀 8,465評論 6 30
  • 寒煙籠水霧鎖山喳魏,漁歌唱晚蓑翁還。 朝辭暮歸一葉舟遍尺,不知蓬堂幾人餐截酷。 一位單位的老前輩作了一副山水畫涮拗,說這是他小時候...
    寄文奴閱讀 622評論 0 0