Unity實戰之面板動畫

面板動畫一般可以用在遊戲的設置面板中,當在遊戲中點擊某個按鈕後,設置面板從某一個地方滑動進入視野,當操作玩家操作完後,再點擊按鈕從視野滑動出去。
在這裏插入圖片描述在這裏插入圖片描述

以Unity 2017爲例
1.先添加一個3D項目,命名爲demo,然後在Assets目錄添加一個scene目錄,將默認的untitled場景保存到該目錄下,改名爲demo。

2.在Hierarchy窗口右鍵選擇“UI“=>“Panel”,添加一個面板,改名爲MainPanel,以同樣的方式再添加一個面板命名爲SettingPanel。

3.在MainPanel中添加一個Button,命名爲BtnToggleSetting,設置Text屬性爲“設置”。

4.在SettingPanel中添加一個Button,命名爲Back,設置Text屬性爲“返回”。

5.將SettingPanel面板上移到不與MainPanel重疊。

6.新建一個GameObject,命名爲_Toggle。
在這裏插入圖片描述
7.新建一個C#腳本,命名爲ui.cs,
添加如下代碼:

	public Animator animator1;
	public void Set()
	{
		if (animator1.GetBool("IsMove"))
		{
			animator1.SetBool("IsMove", false);
		}
		else
		{
			animator1.SetBool("IsMove", true);
		}
	}

並設置BtnToggleSetting的OnClick事件爲ui.Set。以同樣的方式設置Back的OnClick事件爲ui.set
在這裏插入圖片描述
8.在編輯器中把ui.cs腳本拖到_Toggle上,然後把SettingPanel拖到ui腳本的Aninator1上。
在這裏插入圖片描述
9.在Window菜單選擇Animation,打開動畫窗口,在Hierarchy中選中SettingPanel,然後在動畫窗口點擊"Create",創建一個向下移動的動畫,命名爲down。點擊Preveiw後面的紅色按鈕,開始錄製。

在這裏插入圖片描述
如圖所示操作,並在1、4步即0:00的位置與1:00的位置添加關鍵幀。再點紅色按鈕結束錄製。
在這裏插入圖片描述
10.以同樣的方法添加一個向上的動畫,命名爲up。並將down與up的Loop Time屬性去掉,不然會不斷循環,達不到效果
在這裏插入圖片描述
11.在Window菜單中選擇Animator Parameter,在打開的窗口中添加一個Bool參數命名爲IsMove,複選框爲未選中狀態,即默認值爲false
在這裏插入圖片描述
12.在Window菜單中選擇Animator,打開Animator窗口,可以看到如下所示效果。
在這裏插入圖片描述
右鍵Create State、Empty添加一個新狀態。在這裏插入圖片描述
在新狀態按鈕中右鍵Set as Layer Default State設置爲默認狀態。在這裏插入圖片描述
再把新狀態的下一狀態設置爲down,down的下一狀態設置爲up,up的下一狀態設置爲新狀態。在這裏插入圖片描述
選中New State,在轉換條件中選中New State=>down然後添加條件IsMove爲true,並且取消勾選Has Exit Time複選框。
在這裏插入圖片描述
同樣的操作,把down的轉換條件添加IsMove,但設置爲false,並且不勾選Has Exit Time複選框。只勾選up的Has Exit Time複選框。
在這裏插入圖片描述
全部保存,運行即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章