1. 程式人生 > >關於Unity中的NGUI和UGUI

關於Unity中的NGUI和UGUI

幫我 事件 視角 比例 設置 內置 作者 x64 spec

用Unity開發2D遊戲,有三套關系

1.GUI:Unity本身的對象

2.NGUI:以前在Unity中廣泛來做2D的,是第三方的包,需要安裝

3.UGUI:Unity5.X後,Unity找到NGUI的作者,開發了UGUI,變成內置於Unity中的包,官方主推

所有的元素都在Unity的UI工具欄

3D做2D遊戲的方法:

1: 使用正交攝像機;
2: 使用透視攝像機,將2D元素移動到合適的距離。
例如設計分辨率為 960x640, 得到在3D世界裏面一個圖片的大小w*h米,將這個圖片移動到一定的距離使得正確顯示出來
3: tag(視角*0.5) = (h/2) / zeye攝像機到精靈的距離; zeye攝像機到精靈的距離= h / (2 * tan(30));

  960*640的zeye值大約是5.15,也就是要把Image的Z軸設置成5.15,這樣才能把Image剛好覆蓋整個Game視圖屏幕

1.創建一個2D精靈

2.把Texture Type改為Sprite

3.這時候會出現一個Pixeis Per Unit表示多少像素為一米   

4.把圖片拖進Sprite屬性

5.旋轉直接修改Inspector的Z軸參數

6.縮放X,Y,比例為Z軸標準縮放比例

UGUI

底下有一個

1.一個Canvas管理所有的子UI節點:創建的時候會自動創建一個EventSystem節點,用來專門管理事件。如果直接創建一個Text,系統也會自動幫我們創建一個父Canvas節點和EventSystem節點

2.控件(Button,Label)

3.事件響應

Canvas節點,有四個組件

1.Rect Transform組件:不能改變,一創建就自動的組件,而且繼承自Transform組件

2.Canvas組件:Render Mode:(1)Screen Space (overlay):自適應屏幕空間,覆蓋在屏幕最上面,像電視機的菜單一樣,總是在最上面 。

                (2)Screen Space (Camera):在沒有設置Camera屬性的時候,和第Screen Space (overlay)一樣。

                (3)World Space:等於用手動設置Scale,等於之前3D做2D遊戲的手動方法。使得2D和3D節點很好地融合在一起。

        Plane Distance:2D和3D的遮擋關系,可以把3D遊戲弄的遠遠的,或者近近的。

3.Canvas Scaler組件:就像上面的縮放X,Y,比例為Z軸標準縮放比例

           UI Scale Mode:(1)Content Pixel Size:窗口多大就顯示多大的Image節點,不會縮放節點全部顯示。

                   (2)Scale With Screen Size:按照屏幕來進行縮放

           Match:不同的分辨率轉換的時候的X,Y的轉換因子大小,比如960*640轉800*480,X,Y的比例縮放因子設置。

Image節點直接點擊Set Native Size就會讓Image節點自適應在屏幕上,全部顯示。

Imgae組件是無交互式的組件,可以設置顏色,也可以掛材質球(但是只適用於Screen Space (overlay)),設置貼圖屬性,preserve aspact保持縮放比。

關於Unity中的NGUI和UGUI