我的角色在我不做任何事情的情况下自己移动,我已经检查了几次移动代码,我甚至尝试了具有相同功能的其他方法(移动角色),它们都继续出现相同的问题(代码工作在是,但我的角色无限地自己移动)我还安装和卸载了Unity客户端的版本,看看是否可以通过这样做来解决,但没有
你认为这可能是Unity客户端的问题吗?我使用的是2022版本,虽然在2021和2019版本中也发生了同样的事情,但这可能是我不小心接触到的一些配置吗?如果是这样,我如何将其恢复到原始状态?
这是我使用的代码之一,我也尝试了字符控制器
public class PlayerController : MonoBehaviour
{
private new Rigidbody rigidbody;
public float speed = 10f;
void Start()
{
rigidbody = GetComponent<Rigidbody>();
}
void Update()
{
float hor = Input.GetAxisRaw("Horizontal");
float ver = Input.GetAxisRaw("Vertical");
if (hor != 0.0f || ver != 0.0f)
{
Vector3 dir = transform.forward * ver + transform.right * hor;
rigidbody.MovePosition(transform.position + dir * speed * Time.deltaTime);
}
}
}
这是我尝试使用CharacterController的另一个脚本
公共类播放器控制器:单一行为{
public float horizontalMove;
public float verticalMove;
public CharacterController player;
public float playerspeed;
void Start() {
player = GetComponent<CharacterController>();
}
void Update() {
horizontalMove = Input.GetAxis("Horizontal");
verticalMove = Input.GetAxis("Vertical");
}
private void FixedUpdate()
{
player.Move(new Vector3(horizontalMove, 0, verticalMove) * playerspeed * Time.deltaTime);
}
}
当我看到他们没有解决问题时,我使用,我保存并从我的项目中删除,现在我创建了一个新文件,专注于寻找问题的解决方案,因为使用任何脚本移动角色时,刚体或CharacterController都会发生这种情况,我尝试使用Debug.Log来找出问题所在,但也不起作用。它位于平地上,我也关闭了重力,但问题仍然存在。没有外力施加到刚体,因为这是一个新的项目,我把重点放在这个问题。我没有任何其他脚本目前在我的项目。这是我使用的字符控制器脚本,它没有为我工作,我会给予你的链接,我得到了它
角色控制器:https://www.youtube.com/watch?v=FvvTDkJvBfA&t=1296s
刚体:https://www.youtube.com/watch?v=0oi8GzAm49k
我会非常感激,如果你帮我解决这个错误,我有,我一直在寻找一个解决方案或解释两天的论坛和youtube视频
1条答案
按热度按时间9gm1akwq1#
虽然这并不是一个确切的答案,但这是您可以采取的第一步,以确定问题是什么,根据上面的评论: