Unity3D中Layers的計算和應用

2021-10-09 18:34:58 字數 1353 閱讀 8851

(1)開啟多個層

layermask mask = 1<<2|1<<8;表示開啟layer2和layer8,中間用「|」連線

(2)關閉多個層

layermask mask = 0<<3|0<<7;表示關閉layer3和layer7,

解釋:~(1 << 8) 開啟除了第8之外的層。

~(1 << 0) 開啟所有的層。

特別說明:layermask.getmask(「ui」)等價於開啟ui層

debug.logerror("getmaskui =" + layermask.getmask("ui"));

列印結果為:getmaskui = (2的5次方) = 32 ; ui的層級是5;

實際的意義等價於【1<<5】

public

void

movement()

}// 方式(2)同時開啟10層和11層

layermask mask =

1<

<10|

1<

<11;

if(physics.

raycast

(ray,

outvar hit1, mask.

value))

}//實際應用(1) nametolayerui==5

debug.

logerror

(" nametolayerui="

+ layermask.

nametolayer

("ui"))

;//實際應用(2) layertonameui=ui

debug.

logerror

(" layertonameui="

+ layermask.

layertoname(5

));//實際應用(3) getmaskui = (2的5次方) = 32 ; ui的層級是5;

debug.

logerror

("getmaskui ="

+ layermask.

getmask

("ui"))

;if(physics.

raycast

(ray,

outvar hit2,

1<

nametolayer

("ui")|

1<

< layermask.

getmask

("ground")))}}

Unity3D開發(九) Unity3d流光效果

遊戲開 壇 hello game 遊戲開發群 201276069 之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光...

unity3D 中Quaternion旋轉演算法

quaternion.euler x,y,z 返回乙個繞x軸旋轉x度再繞y軸旋轉y度再繞z軸旋轉z度的quaternion,因此quaternion.euler 0,90,0 返回乙個繞y軸旋轉90度的旋轉操作。quaternion作用於vector3的右乘操作 返回乙個將向量做旋轉操作後的向量。因...

Unity3D中的shader高階

unity3d shader 基礎知識 unity3d shader 官方教程翻譯 1.unity中配備了強大的陰影和材料的語言工具稱為shaderlab,以程式語言來看,它類似於cgfx和direct3d的效果框架語法,它描述了材質所必須要的一切諮詢,而不僅僅侷限於平面頂點 畫素著色。2.在uni...