Unreal Engine: 约束一个pawn在两个角度之间的旋转

Unreal Engine: Constrain a pawn's rotation between two angles

我正在为一个朋友做一个简短的 Unreal Engine 4.9 蓝图,但我对 unreal engine 一点都不熟悉,我要拔头发了。我在网上找了大概2个小时,没找到

我想做的是获取一个从 pawn class 派生的对象的滚动,并将其锁定在两个角度之间。在伪代码中,这样做:

if MyObect.Roll < -50,
    MyObject.Roll = -50;
if MyObect.Roll > 50,
    MyObject.Roll = 50;

任何形式的帮助或指向正确方向的帮助都将是巨大的帮助。我已经看到一些 post 使用玩家相机管理器,但到目前为止还没有成功。提前致谢。

在这种情况下要做的第一件事就是打印您的值,例如使用 UE_LOG。您会注意到您的值通常在 0 到 360 之间,而不是您自己期望的值(-180 到 180)。

因此,您首先需要 'normalize' 角度,使它们介于 -180 和 180 之间。这样您就可以使用上面发布的代码:)

if (MyObject.Roll < -180.0f) MyObject.Roll += 360.0f;
else if (MyObject.Roll > 180.0f) MyObject.Roll -= 360.0f;

希望对您有所帮助!