Unity × EasyAR 實戰(zhàn)教程 - 第2章:使用 UGUI 改進項目

本章要點:

  1. 添加按鈕的基本方法
  2. 給按鈕添加動畫效果

1. 添加按鈕的基本方法

在這一章里,我們會使用 UGUI 系統(tǒng)改進現(xiàn)有的 UI ,具體來說,就是用基于游戲?qū)ο蟮陌粹o來控制 unitychan 切換動作。在添加基本的按鈕之前,我們先來調(diào)整一下 Unity 編輯器的視圖。

1.1. 設(shè)置 Game 視圖的 AspectRatio

AspectRatio 是指屏幕的寬高比。在 Game 視圖中默認的寬高比是 FreeAspect ,在上一章的測試中,我們使用的就是這個寬高比,它會自動填滿 Mac 的屏幕。

為了模擬場景在移動設(shè)備上的顯示情況,我們需要調(diào)整 Game 視圖的寬高比。我使用的移動端設(shè)備是小米5S手機,屏幕分辨率是1080×1920,寬高比為9:16。

點擊 FreeAspect ,我們可以看到,在下拉菜單中并沒有合適的寬高比:

設(shè)置Game視圖的顯示尺寸-01

那么,我們需要新建一個寬高比——單擊菜單最下面的“+”:

設(shè)置Game視圖的顯示尺寸-02

在設(shè)置參數(shù)時,將 Type 設(shè)置為 Fixed Resolution(固定分辨率),然后,直接輸入移動端的屏幕分辨率即可。在新的寬高比之下,再次測試這個場景,應(yīng)該會看到:

設(shè)置Game視圖顯示尺寸后再次測試

接下來,我們就開始正式進入 UGUI 的話題。說實話,UGUI 的功能非常強大,涉及到的內(nèi)容也很多,我在教程中也只是點到為止。如果希望深入學(xué)習(xí) UGUI 的話,推薦大家看一下這個視頻教學(xué)(蠻牛教育的免費課程):
http://edu.manew.com/course/183

1.2. 搜集合適的UI素材

我們可以從這個網(wǎng)站(某大神的力作)搜集一些簡單的UI素材:
Android Material Icon Generator
http://jaqen.me/mdpub/

本系列教程將會用到的圖片

我把素材放進了這個文件夾:Assets / UnityChanAR / Textures / Buttons 。導(dǎo)入之后,還要設(shè)置圖片的 TextureType :

  1. 選中圖片,查看 Inspector 視圖(會顯示 ImportSettings )
  2. 將 TextureType 設(shè)置為 Sprite (2D and UI)
  3. 點擊下方的 Apply 按鈕,使設(shè)置生效
設(shè)置圖片的TextureType

在上述操作中涉及的新概念可以參考以下文檔:

1.3. 在場景中添加按鈕

我們既可以直接在場景中添加按鈕,也可以通過組件的疊加來實現(xiàn)按鈕的功能。為了更好地說明 Unity 編輯器的特性,我采取第二種方法,通過疊加組件來實現(xiàn)按鈕。

首先,我們需要在場景中添加一個圖片:在 Hierarchy 視圖中點擊右鍵,然后選擇 UI > Image ,如圖:

向場景中加入UI對象

這一步操作會自動在場景中加入以下對象:

  1. Canvas對象,所有的UGUI對象都是Canvas對象的子對象
  2. Image對象,自帶一個Image組件的UI對象(稍后介紹)
  3. EventSystem對象,對鼠標點擊等事件作出反應(yīng)的對象

如果我們再次添加Image對象,只會在Canvas對象下增加一個新的Image子對象。

接下來,我們需要調(diào)節(jié)Image對象的位置。在Inspector面板中點擊紅色箭頭指向的位置,然后按住alt鍵(在mac上是option鍵),按住之后選擇左下角位置即可。之后,可以參考紅色方框里的數(shù)值,調(diào)節(jié)Image對象的大小和位置。

調(diào)節(jié)Image對象的大小和位置

1.4. 使用Image組件

UI對象的一個重要功能就是顯示圖片,這個功能是由Image組件實現(xiàn)的。在Hierarchy面板里選中Image對象,它的Image組件會顯示在右側(cè)的Inspector面板中。接下來,把想要添加的圖片拖拽到“SourceImage”后面的輸入框里即可。另外,我為了方便管理,把Image對象重命名為ArrowLeft。

給Image對象添加圖片

2. 給按鈕添加動畫

2.1. 使用Button組件

接下來,我們要讓ArrowLeft具有按鈕的功能。按鈕功能是通過“Button (Script)”組件實現(xiàn)的:在ArrowLeft的Inspector面板中,依次點擊AddComponent -> UI -> Button即可添加Button組件。

Animation Integration
https://docs.unity3d.com/Manual/UIAnimationIntegration.html

Button組件中有一個非常實用的屬性——Transition。下面我們就通過這個屬性來給按鈕添加一些有趣的效果。Transition屬性被默認設(shè)置為ColorTint:

Button組件的Transition屬性

點擊Transition屬性后面的菜單,選擇Animation,給按鈕增加動畫效果。接著,點擊Auto Generate Animation。

選擇Animation并生成動畫

彈出一個對話框,讓我們保存自動生成的Animation Controller。我把它存放在下列文件夾:Assets/UnityChanAR/Animations/Buttons。

新建Animation Controller

給左右兩個按鈕分別創(chuàng)建Animation Controller:

Project面板中的Animation Controller

然后,打開Unity編輯器中的Animation視圖:

增加Animation視圖

在Animation視圖中,選中ArrowRight,然后點擊Normal:

選擇可以進行動畫編輯的對象——ArrowRight

在下拉菜單中選擇我們想要編輯的動畫片段——Highlighted:

選擇我們想要編輯的動畫片段——Highlighted

這時,畫面左上角帶有紅點的按鈕被自動按下,而且,播放按鈕也從黑色變成紅色。這意味著,Unity編輯器已經(jīng)開始記錄動畫,場景和Inspector中的操作都會被記錄下來。

開始記錄動畫

在左側(cè)的輸入框中輸入10(表示第10幀)。然后,更改按鈕的大小,可以看到右側(cè)的Scale屬性變成了紅色:

更改按鈕在高亮?xí)r的大小

接著,改變按鈕的顏色:

更改按鈕在高亮?xí)r的顏色

到這里,我們就可以點擊左上角帶紅點的按鈕,停止記錄動畫。最后,將默認的連續(xù)播放取消:

取消連續(xù)播放

2.5. 測試

當我們把鼠標移動到按鈕上時,按鈕高亮——尺寸變大并且改變顏色:

按鈕高亮?xí)r的效果.gif

Unity × EasyAR 實戰(zhàn)教程:

  1. Unity × EasyAR 實戰(zhàn)教程 - 第1章:激活并使用 EasyAR
  2. Unity × EasyAR 實戰(zhàn)教程 - 第2章:使用 UGUI 改進項目
  3. Unity × EasyAR 實戰(zhàn)教程 - 第3章:LeanTouch 入門
  4. Unity × EasyAR 實戰(zhàn)教程 - 第4章:導(dǎo)出并安裝
  5. Unity × EasyAR 實戰(zhàn)教程 - 第5章:使用ImageTarget和“脫卡”
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,619評論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,155評論 3 425
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,635評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,539評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,255評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,646評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,655評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,838評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,399評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,146評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,338評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,893評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,565評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,983評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,257評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,059評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,296評論 2 376

推薦閱讀更多精彩內(nèi)容