五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

游戲原型系列 vol.14 通過C#腳本啟動時間軸-2019.3

2020-07-07 17:45 作者:NXL2  | 我要投稿

摘要

在本教程中,我們將通過C#腳本使用Playable Director啟動時間軸。

?

1.通過C#腳本啟動時間軸

通過腳本啟動時間軸可以更好地控制播放哪個時間軸以及何時播放。這對過場動畫和互動電影特別有用。

通過腳本控制Playable Director時,可以在啟動和停止Playable Director時調(diào)用回調(diào)函數(shù)。通常的用法是在過場動畫開始時禁用玩家輸入并阻止NPC /敵人的動作和移動,并在時間軸停止后恢復(fù)游戲狀態(tài)。

我們的腳本還將在時間軸啟動時執(zhí)行一個回調(diào)函數(shù),在時間軸停止時執(zhí)行另一個回調(diào)函數(shù)。

1. 通過從GameObject下拉菜單中選擇Create Empty 創(chuàng)建一個新的GameObject 。將其命名為Director 。

2. 通過從窗口下拉菜單中選擇Sequencing(序列)>Timeline(時間線),打開“時間線”窗口。

3. 在選擇了Director的情況下,單擊Create(創(chuàng)建)來附加一個Playable Director組件并創(chuàng)建一個Timeline Asset(時間軸資產(chǎn))(圖01 )。

圖01:創(chuàng)建Director組件和時間軸資產(chǎn)

4. 添加并配置所需的動畫軌道(圖02 )。

圖02:我們的時間表,帶有一個簡單的飛越動畫

5. 將一個名為TimelinePlayer 的新腳本組件添加到Director中,然后在腳本編輯器中將其打開。

6. 添加UnityEngine.Playables命名空間:

using UnityEngine.Playables;

7. 在類定義中,我們將創(chuàng)建對Playable Director和控制面板的引用:

private PlayableDirector director;

public GameObject controlPanel;

8.將“開始(Start)”更改為“喚醒(Awake)”,然后刪除“更新(Update)”方法。

9. 在Awake中,我們將設(shè)置Playable Director參考并注冊回調(diào)函數(shù),以在Director啟動和停止時調(diào)用它們:

director = GetComponent<PlayableDirector>();

director.played += Director_Played;

director.stopped += Director_Stopped;

在接下來的兩個步驟中定義的Director_Played和Director_Stopped是返回類型為void的函數(shù),其唯一參數(shù)為PlayableDirector類型。

10. 一旦開始播放時間軸,Director_Played將隱藏用于啟動時間軸的UI面板。

private void Director_Played(PlayableDirector obj){

????controlPanel.SetActive(false);

}

11. 時間軸停止后,Director_Stopped將顯示UI面板。

private void Director_Stopped(PlayableDirector obj){

????controlPanel.SetActive(true);

}

12. 最后,我們準(zhǔn)備定義啟動時間軸的函數(shù):

public void StartTimeline(){

????director.Play();

}

13. 完整腳本應(yīng)如下所示:

using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Playables;

public class TimelinePlayer : MonoBehaviour

{

????private PlayableDirector director;

????public GameObject controlPanel;

?

????private void Awake()

????{

????????director = GetComponent<PlayableDirector>();

????????director.played += Director_Played;

????????director.stopped += Director_Stopped;

????}

?

????private void Director_Stopped(PlayableDirector obj)

????{

????????controlPanel.SetActive(true);

????}

?

????private void Director_Played(PlayableDirector obj)

????{

????????controlPanel.SetActive(false);

????}

?

????public void StartTimeline()

????{

????????director.Play();

????}

}

14. 保存更改并返回Unity編輯器。

15. 通過從GameObject下拉菜單中選擇UI >Button?(按鈕)來創(chuàng)建UI按鈕。

16. 單擊+ 號添加一個OnClick事件。將Director拖到Object 插槽中,然后選擇TimelinePlayer > StartTimeline()(圖03 )。

圖03:添加OnClick事件以啟動時間軸

17. 在“層次結(jié)構(gòu)”視圖中選擇“?Director主管)”。在檢查器的“Timeline Player(時間軸播放器)”組件中,將按鈕或其父畫布拖動到標(biāo)有“ Control Panel(控制面板)” 的插槽中(圖04 )。

圖04:時間軸播放器已配置

18. 進(jìn)入播放模式,然后單擊按鈕以啟動時間軸。時間軸停止時,該按鈕保持可見(圖05 )。在播放時間軸時,它是隱藏的(圖06 )。時間軸完成播放后,該按鈕將再次變?yōu)榭梢姟?/span>

圖05:不播放時間軸時,開始按鈕仍然可見。
圖06:播放時間軸時,該按鈕處于隱藏狀態(tài)。

19. 退出播放模式。

?

2.結(jié)論

時間軸是一個本來就功能強(qiáng)大的系統(tǒng),可通過腳本進(jìn)一步增強(qiáng)。

游戲原型系列 vol.14 通過C#腳本啟動時間軸-2019.3的評論 (共 條)

分享到微博請遵守國家法律
西华县| 天等县| 九寨沟县| 菏泽市| 车险| 建宁县| 大名县| 吉隆县| 黄山市| 静宁县| 朝阳市| 平利县| 昂仁县| 蛟河市| 昌图县| 仁怀市| 石家庄市| 宜黄县| 通化市| 谷城县| 横峰县| 项城市| 兴国县| 宿迁市| 安平县| 静乐县| 察隅县| 循化| 辽宁省| 大荔县| 休宁县| 隆安县| 奉贤区| 房山区| 浦江县| 陵川县| 邓州市| 镇安县| 策勒县| 霞浦县| 兰溪市|