閱讀提醒:本文可以單獨服用,會在官方的高級賽車模板中撰寫計時器及引擎音效。
另外計時器在此篇上半部重寫,上一篇可忽略。前置作業:可先找三個分別為三種檔位/三種速度的引擎音效,可循環播放的。
Unreal Engine:5.03 高級賽車模板
OS:Windows10
1. 計時器
2. 音效 - Engine Sound
昨天的計時器,因為太忙沒整理過,所以本篇的前半段會重寫計時器的部份,且會分別撰寫正數及倒數。
在玩賽車遊戲時,大家通常最在意的就是每個地圖或賽道的計時,或者是劇情挑戰的限時賽,所以今天就來實作一下計時器吧!
首先開啟模板中的 Vehicle UI 藍圖。
在 designer 介面新增三個 Textblock
,分別為 「分鐘:秒數」,將其物件名稱改為 Mins
、:
、Secs
,並在 Detail 面板將 Text
分別設為 00
、:
、00
。
並且新增一個 Horizontal Box
,並將三個 Textblock
拉到該階層下方。
將其放到畫面上方,並透過 Detail 面板調整相關屬性,例如:位置、大小。
最後,分別選到 Mins
、Secs
,在 Detail 面板中的 Text
右側選擇 Bind V
,選擇 Create Binding
。
再回到 Vehicle UI 藍圖,切到 Event Graph
。
新增 Event Construct
事件,透過 Get All Actor of Class
調用 Vehicle Player Controller
。
新增 Get(a copy)
,再 Ouput 節點上點擊右鍵
,選擇 Promote to Variable
,會將其複製到該新的變數,並將變數名稱改為 Vehicle Refff
。
Get Mins Text0
、Get Secs Text0
接著我們從 function 面板
打開剛剛 Create Binding
出來的兩個 function,分別為 Get Mins Text0
、Get Secs Text0
。
首先開啟 Get Mins Text0
,在 Return Node 的 Return value
節點上新增 To Text(Integer)
,顯示整數的意思,並將 Minimun Integral Digits
、Maximum Integral Digits
皆設為 2
,亦為會顯示的最少及最多的整數位數,因為我們的分鐘及秒數,希望皆會顯示兩位數,故設為 2
。
接著將 Vehicle Refff
拖曳到面板上,選擇 Get
,並且與 Get Mins
連接,最後 Value
參數,傳遞給 To Text(Integer)
。
再來開啟 Get Secs Text0
,其步驟與 Get Mins Text0
一樣,只需將 Get Mins
改為 Get Secs
傳遞給 To Text(Integer)
。
開啟 Vehicle Player Controller,新增兩個 Variables
,分別為 Mins
、Secs
,並將 Mins、Secs 的 Default Value
改為 0
。
找到 Event Tick 事件,並在 Update Gear 後方新增 Delay,並將 Duration
設為 1
。
接著先計算秒數,再接上 Branch
,設置須進位時的條件,當 Secs > 59
成立,則 Mins + 1
、Secs = 0
。
一樣是找到 Event Tick 事件,並在 Update Gear 後方新增 Delay,並將 Duration
設為 1
。
接著先判斷秒數是否為 0,若為 False
,則 Secs-1
。
反之,則新增一個 Branch
,判斷 Mins 是否為 0,若為 False
,則 Mins-1
、Secs=59
;若為 True
,可連接結束遊戲 UI。
最後,將 Mins、Secs 的 Default Value
可改為該圈賽道限時的時間,例如:Mins = 2
、Secs = 10
,也就是限時兩分十秒。
PS:若單獨實作計時器,要記得
Create Widget
、Add Viewport
,才會顯示在畫面上喔!若為同一個 UI藍圖,新增一次即可,可參考之前的說明,https://ithelp.ithome.com.tw/articles/10302929。
接下來我們來看該怎麼設置引擎音效吧!
先找三種不同檔位或是車速的引擎音效,並將其匯入專案中。
右鍵
,選擇Sounds
,新增 Sound Attenuation
、Sound Cue
藍圖,並將其分別命名為 CarRunning
、EngineSound
。2000
。Crossfade by Param
,透過參數淡入淡出。Continuous Modulator
,可以在此分別為三個音效調整各項參數。Looping Wave Player:Sound
,並將 Sound Wave
設置成三個對應的音檔。Audio Component
,並將音效設置成剛剛新增的 EngineSound
。小結:上方就是正數、倒數計時器的藍圖撰寫以及引擎音效的基本設定啦!明天繼續~