【UE】從增強(qiáng)輸入插件獲取軸向浮點(diǎn)值并以此判斷是否處于運(yùn)動(dòng)狀態(tài)
目的:
如果我們希望在控制器輸入后,角色能有一個(gè)銜接流暢的動(dòng)畫,將【角色的當(dāng)前運(yùn)動(dòng)狀態(tài)】轉(zhuǎn)變?yōu)椤疚覀兿M玫降倪\(yùn)動(dòng)狀態(tài)】,就需要我們獲得不同于【角色速度向量】的控制器輸入向量。因此需要我們獲取【控制器輸入向量】并創(chuàng)建布爾值判斷角色是否處于移動(dòng)狀態(tài)。
解決方法:
第一部分:獲取“前后”“左右”兩部分軸向輸入
不同于ThirdPersonGame中玩家BP提供的 WSAD集成在同一Axis2D 的輸入方式,而是改為“前后” 和 “左右” 兩條Axis1D的軸向輸入,以便 Right Input 和 Forward Input 兩值的區(qū)分輸入;同時(shí)在按鍵 Completed 后,將兩值復(fù)位為 0 。

第二部分:獲取“控制器輸入的移動(dòng)狀態(tài)”向量
在角色ABP中,由玩家BP獲取 Right Input 和 Forward Input,并創(chuàng)建相應(yīng)的兩值;
然后創(chuàng)建如圖所示的宏,將控制旋轉(zhuǎn)的方向向量和控制器輸入的軸向值的乘積相加,得到【控制器輸入的移動(dòng)狀態(tài)】向量。

第三部分:判斷玩家是否處于運(yùn)動(dòng)狀態(tài)
獲取【控制器輸入的移動(dòng)狀態(tài)】向量,當(dāng)該向量長(zhǎng)度(≥0)大于零[≠0]時(shí),設(shè)置“是否處于運(yùn)動(dòng)狀態(tài)”布爾為True,否則為False。

標(biāo)簽: