一、ngui與ugui常用元件比較
元件樣式如下:
二、細節對比:
ngui根據depth的大小,ugui根據在層次面板上的先後順序。如上圖中文字與的渲染順序,ngui中sprite的depth為0,label為1,label後渲染,顯示在sprite的上方;ugui層次面板中,text在image的上方,則image後渲染,顯示在text的上方。(ugui中canvas之間通過order決定渲染順序)
--------------------------------ngui------------------------------------
ngui有個子物體camera,其size大小會影響適配,各個元件anchors也會影響適配,除此之外,scaling style也會影響適配。
uiroot指令碼是開源的,所以我們看
到scaling列舉如下:
constrained:[受限的],螢幕按照尺寸比例來適配。當scaling style的值設為constrained時,uiroot屬性面板如下圖所示。 canvas元件上的render mode有三種選項:screen space -overlay、screen space - camera、world space。screen space -overlay:始終在最前面並充滿螢幕,不可設定大小。當有多個canvas時就需要根據sort order來計算前後關係,這個值越大越靠前,即值越大越顯示在前面。pixel perfect表示是否需要開啟抗鋸齒。
screen space - camera:在沒給攝像機賦值前等同於screen space -overlay。不一定在最前面,但同樣充滿螢幕,不可設定大小。plane distance指定了ui與該相機的距離,越近越顯示在前面。sorting layer則指定了相機的渲染順序,order in layer值越大,該ui越顯示在前面。值越小越靠後。所以sorting layer只有在有多個同型別sorting layer時才有效。如果兩個canvas指定的sorting layer一樣,則依據order in layer的值的大小決定先後順序。如果sorting layer不一樣,則order in layer值無意義,此時會根據sorting layer裡面值的順序來決定,值越大顯示越靠前。
world space:是世界空間。也需要指定渲染相機,sorting layer與order in layer的處理與螢幕空間相機一樣。
canvas scaler主要負責螢幕適配,當canvas的render mode為screen space-overlay或者screen space-camera時,可以指定ui scale mode,有三種模式:
constant pixel size:保持ui的畫素大小,無論螢幕大小如何改變。scale factor指定幾倍畫素。
scale with screen size:隨著螢幕的大小改變而等比縮放ui大小。
constant physical size。
graphic raycaster用於射線檢測,與canvas搭配使用。
ignore reversed graphic是指是否忽略圖形的反面射線檢測,如果勾上,說明只有正面接受射線檢測,能響應射線檢測事件,反面無法接收射線檢測事件。
blocking object是指遮蔽指定型別的物件使他們忽略射線檢測,有none、2d、3d、all,分別代表沒有忽略的,2d忽略,3d忽略,忽略所有。
blocking mask是指遮蔽上面物件中指定層,使他們忽略射線檢測。
ngui中使用前必須打包成圖集,而ugui中可直接使用,發布時自動打包成圖集。
Unity之UGUI的學習(四) Mask(遮罩)
mask 遮罩 是一種不可見的ui元件,它可以用來修改子物體的外觀。遮罩將子物體限制為父物體的形狀。如果子物體大於父物體將只顯示和父物體大小相同的那一部分。如上圖所示,在父物體image中新增子物體image,父物體image上新增元件mask,可以發現子物體image本來是大於父物體image的,...
Unity3D種UGUI與NGUI的對比差別(1)
先來段小八卦,聽說ugui的主創人員是從ngui招過去的,所以,ugui中有很多概念,對於用過ngui的童鞋來說,看起來都似曾相識。先來個概念對比 ngui ugui 錨點anchor recttransform anchor sprite image 文字label text 根節點uiroot ...
面試題學習與複習四
目錄 一 binder的通訊機制是怎麼樣的?1.1 binder通訊模型 1.2 binder通訊步驟 1.3 binder機制跨程序原理 二 intent傳遞物件時為什麼要序列化?三 怎麼新建乙個程序?四 mvp中的presenter的生命週期怎麼管理?面試題五 binder詳解 可以模擬一下打 ...