我想在我的船的 3D 模拟中允许船在所有轴上旋转和移动。然而,我对船的运动进行编程的方式使这成为不可能。
它的移动方式:
this.transform.Translate(Vector3.left * Time.smoothDeltaTime * speed);
它的转动方式:
this.transform.Rotate(Vector3.forward * Time.smoothDeltaTime * (int)horizontal)
船的形状也使得它不可能简单地在坚固的底座上移动,因为它确实具有三角形形状(用于水下碰撞)。
所以我想做的是让船受到重力的影响,但仍然漂浮在水面上。然后,当船撞到东西时,它需要能够“滚动”,然后最终回到正常位置。
那么,有没有什么办法可以让物体在撞到东西后慢慢恢复正常旋转(z旋转为0),一旦达到一定高度就不受重力影响。(Y 值为 34.75)
这艘船有一个刚体和一个网格碰撞器