C# 如何阻止我的播放器在抬头时向上移动
(小背景)主摄像机是玩家的孩子。 你好 所以我有一个问题,当我的角色仰望天空时,如果我按下W,它将向上移动,这不是我想要的,那么如何阻止这种情况发生,这是我的代码:C# 如何阻止我的播放器在抬头时向上移动,c#,unity3d,C#,Unity3d,(小背景)主摄像机是玩家的孩子。 你好 所以我有一个问题,当我的角色仰望天空时,如果我按下W,它将向上移动,这不是我想要的,那么如何阻止这种情况发生,这是我的代码: private void CalculateMovement(){ //运动 float_horizontalInput=Input.GetAxis(“水平”); float _verticalInput=Input.GetAxis(“垂直”); 矢量3 _方向=新矢量3(_水平输入,0,_垂直输入); 矢量3(速度=)方向(速度)
private void CalculateMovement(){
//运动
float_horizontalInput=Input.GetAxis(“水平”);
float _verticalInput=Input.GetAxis(“垂直”);
矢量3 _方向=新矢量3(_水平输入,0,_垂直输入);
矢量3(速度=)方向(速度);;
_速度=变换。变换。变换方向(_速度);
//鼠标输入和旋转
float _mouseX=Input.GetAxis(“鼠标X”);
float_mouseY=Input.GetAxis(“鼠标Y”);
Vector3鼠标输入=新Vector3(transform.eulerAngles.x-
(_mouseY*_mousesensitivity),transform.eulerAngles.y+
(_mouseX*_mousesensitivity),0);
transform.eulerAngles=鼠标输入;
characterController.Move(_velocity*Time.deltaTime);
}
我想你可以简单地消除y
上的任何速度,然后将其转换为世界空间向量,如
_velocity = transform.transform.TransformDirection(_velocity);
_velocity.y = 0f;