我正在使用统一,我正在创建一个3d自上而下的游戏。没有跳转功能。输入处理只支持x和z轴播放器的移动。爬坡或从空隙掉下来是我想要发生的事情,没有一定的投入。
所以,我有一个刚体,我通过直接设定它的速度来移动。当它上升到一个斜坡时,它会慢下来。
我希望它能保持同样的速度。
现在我这样做:
void Update(){
moveInput = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical"));
}
void FixedUpdate(){
MyRB.velocity = moveInput.normalized * runSpeed
}
我用的是刚体上的胶囊对撞机和斜坡上的箱式对撞机。对撞机的物理材料是默认的/无(不改变)。
发布于 2018-09-13 19:31:50
这完全取决于你如何移动你的刚体。如果您正在手动更新每个框架的位置(使用平移或movePosition,而不是AddForce),您可以将物理材料应用到您的球体对撞机上,并将摩擦力设置在或略低于1。这使得刚体能够更好地抓住倾斜的表面。
https://gamedev.stackexchange.com/questions/163680
复制