1、在包管理器 unity注冊表中下載安裝InputSystem
2、給玩家添加組件PlayerInput,點擊CreatAction,創(chuàng)建一個InputAct
InputAct,這是玩家的輸入文件,在里面可以設置玩家輸入
3、使用
例如玩家控制角色移動
在InputAct中,默認已經設置好了移動的輸入
這里是一個二維向量值
W(0,1)A(-1,0)S(0,-1)D(1,0)
當同時按WD時,前進距離(0.71,0.71)
判斷玩家向前移動
鍵盤y=1
搖桿:y>0,但玩家會誤觸搖桿,所以最好設定一個誤差值
輸入設置閾值變量(Threshold)0.1,若y>0.1,則前進。
腳本中
獲取玩家輸入
private Vector2 playerInputVec;
public void GetPlayerMoveInput(InputAction.CallbackContext context)
{
playerInputVec = context.ReadValue<Vector2>();
}
玩家移動舉例文章來源:http://www.zghlxwxcb.cn/news/detail-642757.html
void FixedUpdate()
{
MovePlayer();
}
void MovePlayer()
{
targetSpeed = isRuning ? runSpeed : walkSpeed;
targetSpeed *= playerInputVec.magnitude;//當玩家沒按下或沒有推動搖桿,目標速度為0
currentSpeed = Mathf.Lerp(currentSpeed, targetSpeed, 0.5f);
//*TiredIndex,目的是主角運動速度與體力消耗相關聯,當耗盡則不會在運動,只有體力恢復才能繼續(xù)運動
animator.SetFloat("Sports", currentSpeed*TiredIndex);
}
回到unity,點擊主角,在右側打開PlayerInput組件
點擊事件——Player,在Move那塊點擊加號,將掛載在玩家的腳本拖到黑框處(一定要將腳本拖進去,直接拖游戲對象不可以),在右側選擇剛才寫好的輸入方法GetPlayerMoveInput
4、如果默認的輸入文件不夠,可以自己添加
例如添加一個奔跑輸入
點擊InputAct
點擊加號,就可以新建有個Action,根據自己行為命名
在右側選擇類型
然后點擊Action右側的加號添加Binding
點擊Binding,在右側可以改名字,選擇Path(輸入類型,例如KeyBoard鍵盤等等)
在下面的Use in control scheme中設置具體的按鈕即可文章來源地址http://www.zghlxwxcb.cn/news/detail-642757.html
到了這里,關于unity新輸入系統的簡單使用(New InputSystem)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!