我正在使用 Unity 开发 2.5D 手机游戏。为了前后移动角色,我在更新函数中使用了一段代码:
void Update () {
if (shouldMove==true){
transform.Translate(Vector3.forward * 3 * Time.deltaTime);
}
}
因此,当游戏以 60 fps 运行时,该代码运行良好,但当 fps 降至 30 或更低时,角色在移动时开始振动。我试图用平面地形测试相同的代码并且效果很好,所以问题可能是角色和地形碰撞器之间的碰撞。但是,我不明白为什么如果 fps 很高,它工作得很好。我已经尝试过胶囊对撞机和网状对撞机,但没有人成功。你怎么看?我应该尝试使用其他代码吗?
编辑 1:我正在使用胶囊对撞机和刚体。我应该使用角色控制器吗?