如何使用 lerp 命令使对象仅从右侧旋转?

Posted

技术标签:

【中文标题】如何使用 lerp 命令使对象仅从右侧旋转?【英文标题】:How do I make the object rotate only from the right with the lerp command? 【发布时间】:2021-11-02 03:27:26 【问题描述】:

我有一个旋转代码。使用此代码,我想将对象向右旋转 313 度。 但是 lerp 命令从左侧旋转 47(360-313) 度。 我猜它这样做是因为它更接近从左边转向。 但我希望它向右转。我从不希望它向左转。我怎么得到这个?

我的旋转代码:

transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(0,313,0), 3f * Time.deltaTime);

【问题讨论】:

【参考方案1】:

您可以拆分代码并仅处理 Y 变量。之后你可以直接设置transform.rotation = Quaternion.Euler(0,angle,0)

这样的东西应该足够了(未测试):

var rotY = Mathf.Lerp(currentY, targetY, Time.deltaTime * 3f);
transform.rotation = Quaternion.Euler(0, rotY, 0);

【讨论】:

不幸的是它没有用。瓶子不断振动,无法显示目标

以上是关于如何使用 lerp 命令使对象仅从右侧旋转?的主要内容,如果未能解决你的问题,请参考以下文章

如何使溢出对象可滚动或从右侧开始?

Java OpenGL - 如何使对象随相机旋转?

如何使游戏对象在旋转平面中围绕 Unity 中的另一个游戏对象旋转

如何使视频仅从按钮开始?

如何使二维精灵在按键方向上以平滑的宽弧移动?

如何使相机具有与对象相同的旋转但具有偏移(Unity)