UEDay05視頻補充
一、鼠標的顯示和隱藏



二、Tick事件:可以用來進行游戲時長的計數(shù)
添加一個tick事件的節(jié)點和一個用于計數(shù)的浮點型變量LifeSecond
Tick事件在每一幀渲染時會不停的輸出值,這里將tick輸出的值給變量LifeSecond,然后在設置一個加法運算使得新輸出的tick值與變量LifeSecond的值相加,最后賦給LifeSecond。


三、縮放視角:調(diào)整的是人物背后攝像機到人物的距離,所以是調(diào)整CameraBoom
新建一個鼠標滾輪軸事件,右鍵wheel里有
可以用print去查看一下它的輸出值,能夠看出他是不停地輸出1,0和-1這三個值,對應鼠標滾輪的前滾動,停止?jié)L動以及向后滾動。
因為要控制的是CameraBoom的長度,所以先把它拖下來并添加“獲取目標臂長度”和“設置目標臂長度”這兩個件節(jié)點

4.讓“鼠標滾輪軸”節(jié)點輸出的值加上目標臂當前的長度再賦予給目標臂即可,但是這里有個兩個問題:
①第一個,“鼠標滾輪軸”事件輸出的值過小
②第二個,不能無止盡的進行縮放操作
解決方法:
①加個乘法計算即可,讓“鼠標滾輪軸”節(jié)點輸出的值乘一個固定的值。
②加一個限制浮點值的節(jié)點,讓最終輸出的浮點值只能在一個范圍內(nèi)進行變化
5.在解決完對應的問題后發(fā)現(xiàn)縮放方向與鼠標滾輪軸方向相反,所以這里將乘法計算中的正數(shù)變成了負數(shù),最終藍圖如下。

四、技能超級跳
實現(xiàn)的效果:按下按鍵→釋放技能→技能進入CD
實現(xiàn)的原理:按下按鍵→人物跳躍速度改變→人物完成跳躍動作→人物跳躍速度重置為原來的值→技能進入CD
實現(xiàn)步驟
①按鍵利用操作映射即可

? ? ? ??②設置人物跳躍速度是人物藍圖中CharMoveComp的參數(shù),因為這里不需要獲取跳躍速度的值只需要進行設置即可,所以這里把它拖下來并添加一個“設置跳躍速度”的節(jié)點。

? ? ? ??③對當前節(jié)點進行連接,初步完成超級跳技能,按下按鍵釋放技能,松開按鍵不再釋放并且重置人物跳躍速度。

????????④接下來加入技能CD,目前的情況是只要按鍵就會不停的釋放,所以加一個“do once”節(jié)點來讓技能只能釋放一次。

? ? ? ??⑤但是添加“do once”節(jié)點后該技能整局游戲只能夠釋放一次(以后可以做一次性道具),所以需要對“do once”節(jié)點的Reset引腳做工作達到技能冷卻的效果,這里添加一個自定義事件,把事件名稱命名為“SuperJump Reset”。

? ? ? ? ⑥技能冷卻應該在技能釋放后進行倒計時再重置技能的使用,所以這里可以在完成跳躍動作后添加一個“延遲”節(jié)點然后觸發(fā)“do once”的Reset。

? ??? ? ⑦給該技能添加對應的特效,聲音以及冷卻完畢提醒。

五、漂浮物體拾取及二段跳
實現(xiàn)效果:人物觸碰到道具,道具消失并給予玩家二段跳的能力
實現(xiàn)原理:利用觸發(fā)器中的“模型開始重疊”事件完成道具的消失以及人物二段跳能力的設置。
實現(xiàn)步驟:
①先創(chuàng)建一個二段跳藍圖(Actor類)并在其中加入靜態(tài)網(wǎng)格體和對應的觸發(fā)器,這里的靜態(tài)網(wǎng)格體是為了讓道具具備真實的幾何體形狀,便于放置和觀察。

????????②添加對應的節(jié)點,并完成拾取時人物屬性設置、拾取時特效以及拾取后銷毀道具的設置。

????????③道具的漂浮可以理解為不停地改變道具位置屬性中的z值,這里用時間軸來實現(xiàn)隨著事件變化物體的z值不停地改變,輸入timeline并選中“添加時間軸”。

????????④雙擊時間軸節(jié)點,新建一個輸出浮點型數(shù)據(jù)的軌道,并設置好關鍵幀(時間和輸出浮點值的對應)。下面的三個按鈕很關鍵(從右往左介紹,方便自己理解),最右邊是循環(huán),中間的是自動播放,最左邊的是讓其在循環(huán)時首尾相連,使用最后一幀進行循環(huán)。


????????⑤因為時間軸只輸出了0-1的數(shù)值,這個數(shù)值用來改變物體z值的變化太小了,不易于觀察到。所以這里利用“插值(向量)”這個節(jié)點。這個節(jié)點可以使得0對應一個A值,1對應一個B值,并且將會在AB值之間按照一定的比例進行插值,這種插值生成的新向量沿著兩個向量之間的直線進行過渡。一般可以用來平滑移動物體的位置。

????????⑥最后將“插值(向量)”這個節(jié)點的值發(fā)送給靜態(tài)網(wǎng)格體的相對位置即可。

六、螢火技能
實現(xiàn)效果:按下技能按鍵→人物抬手并在對應手處釋放可照亮空間的螢火(球形)
實現(xiàn)原理:按下技能按鍵→人物抬手→釋放粒子
實現(xiàn)步驟:
①人物的抬手:雙擊人物的骨骼網(wǎng)格體,選定人物的抬手動畫并重命名

????????②準備粒子,創(chuàng)建可以發(fā)射一堆粒子的發(fā)射器。因為存在重力導致粒子會下墜,為了讓技能特效為球形這里刪掉重力。加入光線渲染器使得粒子可以照亮周圍的環(huán)境。


? ? ? ? ③這里我把技能設定為在非跳躍狀態(tài)下可釋放,做一下對應的狀態(tài)切換,設定完成后會出現(xiàn)對應的規(guī)則。? 這里也需要對“FireFlies”這個狀態(tài)進行編輯,使得這個狀態(tài)播放剛才選擇的抬手動畫,雙擊進入編輯,連接對應動畫即可。


????????④這里對規(guī)則進行編輯,需要增加一個布爾值使得人物如果處于技能釋放狀態(tài)則進入“FireFlies”狀態(tài),如果不處于則從“FireFlies”狀態(tài)回到對應的待機或運動狀態(tài)。


? ? ? ? ⑤進入人物藍圖進行編輯,因為這里需要調(diào)用在骨骼體動畫藍圖的布爾值,所以我們這里先把骨骼體的動畫藍圖保存為一個變量,以便安全和方便的訪問其中的函數(shù)和特定屬性。(左側(cè)連接的是“事件開始節(jié)點”)



????????⑥首先,按下按鍵后調(diào)用并設置KLL變量中的布爾值為真,使得人物進入FireFlies狀態(tài)釋放抬手動畫。其次,加入延遲(因為實在是太快了)、粒子特效和聲音,這里的粒子特效應該附加在網(wǎng)格體的右手上,所以此時從從component連接的是網(wǎng)格體,attach to point name里填的是右手(這里可以從骨骼體里去找)。最后,調(diào)用并設置KLL變量中的布爾值為假,使得人物可以從FireFlies狀態(tài)回到待機或運動狀態(tài)。

