我的游戏角色是猫;它可以走路和跳跃。问题在于地面上有坡度和孔洞,因此猫有时会向后翻转,如下所示:
实际上可以限制旋转角度吗?即-45至45度,因此它与物理引擎兼容。
我找到了将角度直接设置为transform.rotation = desired Rotation
的解决方案,但是它会产生物理伪像,并且当物体开始旋转并突然停止时看起来并不现实。
UPD:我尝试了以下提供的解决方案:
private void FixRotation()
{
var angles = transform.eulerAngles;
Debug.Log("Limiting angles: " + minAngle + "; " + maxAngle);
Debug.Log("Rotation Z: " + angles.z);
angles.z = Mathf.Clamp(angles.z, minAngle, maxAngle);
transform.eulerAngles = angles;
Debug.Log("Fixed rotation Z: " + transform.eulerAngles.z);
}
它不能正常工作。当猫要旋转更多的限制时,由于我需要但是,它会返回,但精灵会开始快速摇动。我在做事吗?
答案 0 :(得分:0)
我使用this answer的解决方案解决了摇晃的问题。
int main()
{
index = 0;
test("10000.txt", 10000);
index = 0;
test("100000.txt", 100000);
index = 0;
test("1000000.txt", 1000000);
index = 0;
test("10000000.txt", 10000000);
return 0;
}
一种解决方案,当游戏物体的角度在关键区域(大约180度)时,我们需要防止其完全旋转