Unity3D種UGUI與NGUI的對比差別(1)

2021-07-28 04:01:15 字數 1476 閱讀 4240

先來段小八卦,聽說ugui的主創人員是從ngui招過去的,所以,ugui中有很多概念,對於用過ngui的童鞋來說,看起來都似曾相識。

先來個概念對比:

ngui

ugui

錨點anchor

recttransform anchor

sprite

image

文字label

text

根節點uiroot

canvas

ui面板

panel

canvas

ui容器

uiwidget

panel

事件互動

collider

eventsystem

單張貼圖

texture

rawimage

ui相機

camera + uicamera

camera + eventsystem

再看下ui主要的通用幾個元件:

ngui

ugui

button√√

toggle√√

scroll bar√√

progress bar√√

input field√√

popup list√×

localization√×

play sound√×

scroll view√√

總體來說,對於基本的ui元素, ngui與ugui都有;在元件的豐富度上,ugui略遜於ngui。例如,ugui沒有localization、play sound元件;ngui的label是支援靜態**混排跟文字url超連結的,而ugui不支援。所以使用ugui的時候需要自行開發以上缺失的元件及功能。ugui採用recttransform的概念,將ngui中的transform+widget+anchor的功能,封裝了起來。

ugui

ngui

pivot

recttransform

widget

width、height

recttransform

widget

x、y、z

recttransform

transform

anchor

recttransform

anchor

相對於ngui的anchor可以直接對某個go進行錨點而言,ugui新的錨點設計顯然只能針對父節點來進行,是做不到跨層級錨點的,喪失了靈活性;但是也解決了ngui多重錨點之間,由於時序問題,控制項「錨飛了」的情況。

比較難理解的,應該是anchor按比例錨點做相對布局的情況,普通的使用方法,可以參考unity的官方文件[1],這裡不展開。

要使用指令碼來修改ui控制項,情況就會變得比較複雜,需要理解絕對布局(anchor四個角都在一起)跟相對布局(anchor四個角分開,會按父控制項的百分比來定義該控制項)的情況。同時,也要理解transform與anchoredposition的關係。

Unity3D開發技巧之UGUI虛擬搖桿

首先我們建立兩個image,讓搖桿stick為joystick的子物體,將彼此的相對大小調整好。建立指令碼virtualjoystick.cs繼承scrollrect。using system.collections using system.collections.generic using un...

Unity3D開發(九) Unity3d流光效果

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

Unity3D的UGUI布局錨點自動繫結關係

menuitem context recttransform auto public static void autorectanior bounds rectbounds recttransformutility.calculaterelativerecttransformbounds canva...