mask元件是比較常用的元件之一
可以使用mask去限制渲染3d的rawimage的形狀
官網的下面有mask的實現原理,有點像shader裡面的部分
mask的主要作用是根據提供的對mask所掛物體的子物體進行畫素的遮擋
如果有提供,則如果子物體部分與的有畫素部分有些地方沒重疊的話,這個沒重疊的地方會顯示提供
有些部落格說mask可以用於3d物體 ,這個還沒親自嘗試
mask一般和image元件掛在同乙個物體上 由image提供
如果沒有提供 則mask會只顯示它所掛物體的邊界rect部分與子物體的重疊部分
提供的有畫素的部分與子物體的的重合部分會顯示圖形
透明的部分以及有畫素但是與子不重合即空餘部分會不顯示圖形
mask可以提供任意形狀的遮罩,比如三角形圓形五角星形,只要提供給他的正確並且子的重合部分正確
如果發現提供的透明部分對於子物體還是有遮擋 則這張的一這部分透明部分不是全透明,需要美工再做處理
但是,mask有一些缺點
比如一張圖本來是乙個drawcall的
mask使用後mask顯示的部分生成乙個drawcall 因為mask隱藏的一部分會生成乙個drawcall
unity有個機制是在同乙個圖集裡面的所有使用的合批成乙個drawcall,但是在這基礎上 每次使用mask都會生成乙個額外的drawcall,就是說如果我使用了六個mask,則會由7個drawcall,除了六個是mask生成的外,還有乙個是合批後的
對於這些缺點unity本身也給出了一些替代方案,
Unity之UGUI的學習(四) Mask(遮罩)
mask 遮罩 是一種不可見的ui元件,它可以用來修改子物體的外觀。遮罩將子物體限制為父物體的形狀。如果子物體大於父物體將只顯示和父物體大小相同的那一部分。如上圖所示,在父物體image中新增子物體image,父物體image上新增元件mask,可以發現子物體image本來是大於父物體image的,...
UGUI 修改元件節點位置
最近的工作任務是實現模態對話方塊,模態對話方塊彈出後要顯示在最前面,為了實現這個效果,我從網上找到了解決辦法 通過setsiblingindex 和 getsiblingindex設定與獲取 gameobject在兄弟節點中的位置。我覺得getsiblingindex返回就是兄弟節點對應的編號,這個...
UGUI學習筆記之Scrollbar元件
scrollbar 滾動條 元件屬性介紹 由於slider元件前面屬性和button 元件一樣,就不再贅述了 屬性 說明 handle rect 滑塊direction 滑動方向 value 當前值 0 1 size 滑塊大小,佔其父物體sliding area的比例 number of steps...