背景
练习模仿一些游戏,其中很重要的一点就是模仿角色控制的实现,记录一些实战经验
Package准备
我采用的包
- Cinemation,用来控制摄像机
- New Input System, 新用户控制系统
Tips
- 第三人称控制的实现:用Freelook摄像机,Follow设定为角色身体,LookAt设定为挂在用户项目下的子Object(用一个只有Transform的Empty项目。)上中下Rig可以根据需要设置一下,Orbit绑定模式为WorldSpace。
- 如果需要自动避免障碍物遮挡,可以在FreelookCamera下加一个Extension,选PullCameraForward,这样在遇到遮挡时,相机会自动避开遮挡物贴近目标物体。
- 判断Mouse是否按下:
if (mouse.current.leftbutton.waspressedthisframe){//do sth}
- 判断Key是否按下(不推荐这么写)
keyboard.current.tkey.waspressedthisframe
- 如何切换InputAction(当存在多套InputAction时):
playerInput.SwitchCurrentActionMap("UI");playerInputActions.Player.Disable(); playerInputActions.UI.Enable()
其中UI和Player分别是两套Action的名称。