问题标签 [lerp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
221 浏览

c# - 根据相机阵列平滑移动相机位置

我目前正在尝试使用预定义的相机位置数组平滑地更改相机的位置。它应该是这样的:

  • 我按空格键,相机应该会平滑地切换到相机阵列中相机 0的位置。
  • 再次按空格键,相机应该会顺利切换到相机阵列中相机1的位置
  • 等等

    /li>

使用我目前的解决方案,相机实际上可以平滑地移动到目标。但是,一旦达到该目标,然后按空格键,相机就会更改为目标,而不会进行平滑处理。

就好像一旦 lerp 成功完成了一次,它就不会再 lerp 了,除非我重新开始。

编辑:澄清一下:按下空格键时,相机目标实际上会发生变化,并且相机会跟随这个目标。问题是,一旦相机位置到达目标位置一次,它就不再平滑地移动到目标,而是立即改变它的位置到目标。

0 投票
1 回答
112 浏览

unity3d - Unity在自由落体时旋转播放器不起作用

我有一个从斜坡上发射的球员。在那之前一切正常。

当玩家离开坡道时,他们会向上看,所以我想做的是平滑地改变玩家(X,Y,Z)的旋转;从当前的一个到一个新的。

我总是需要 y = -180

我总是需要 z = 0

我需要 x = (MinAngle, MaxAngle) -> 也许这些值 (-30, 30)

X 的原因(MinAngle,MaxAngle)

我试图弄清楚如何在某个轴上平滑地旋转播放器并以某个角度停止,以便可以在此处应用它,并可能与播放器按钮(上/下)一起应用

transform.rotation 线导致问题

0 投票
1 回答
389 浏览

c# - Lerp 对汽车运动的影响并不始终如一

我正在模拟汽车在给定四列数据的情况下通过道路网络行驶,time以及一辆具有 id 的汽车当时所在的位置这是一个示例:idxzidx,0,zt

目前,我可以根据数据生成汽车并随着时间的推移更新它们的位置。我被困在如何更真实地模拟汽车运动,而不是汽车只是从一个点到另一个点弹出。

我正在使用Vector.Lerp,但它跳跃时没有一致、流畅的运动:

每一秒,我都会检查上面的数据以找到当前秒的汽车坐标。这些坐标被传递nextPosition到上述Lerp函数中。这意味着汽车每秒钟都从一个点到另一个点“乐平”。

我怎样才能使运动更顺畅?位置更新是每秒一次,因此汽车需要在 1 秒内到达下一个位置。

0 投票
1 回答
5847 浏览

unity3d - Unity-我似乎无法控制我的游戏对象的颜色

我只是想让一个观察者模式程序一个对象随机改变颜色并导致一组其他对象改变相同的颜色,但我希望它们在 5 秒内逐渐改变。我正在尝试 lerp,但它只是立即交换颜色。我认为这可能与 lerp 的起始颜色有关,因为主要对象是不断变换颜色,新颜色变成旧颜色。所以我需要考虑如何为 lerp 选择起始颜色。我不确定这是否与我的 lerp 不起作用有关,但这是我正在考虑的。如果其他人有任何建议,我将不胜感激。谢谢你。

0 投票
1 回答
3895 浏览

c# - 使用持续时间而不是速度的 MoveTowards

我想在 x 秒内和协程函数中将GameObject从位置 A 移动到 B。Vector3.MoveTowards我知道如何做到这一点,Vector3.Lerp但这次更愿意这样做,Vector3.MoveTowards因为这两个函数的行为不同。

使用Vector3.Lerp,这样做是这样的:

我试图用 做同样的事情Vector3.MoveTowards,但它不能正常工作。问题是移动在 x 时间或持续时间之前完成。此外,它的移动也不是很顺畅。它跳到两个位置的中间而不是位置 B 的末端。

这是Vector3.MoveTowards与上述问题一起使用的功能:

如何Vector3.MoveTowards在 x 秒内并在协程函数中将 GameObject 从位置 A 移动到 B?

请不要建议Vector3.Lerp,因为那不是我想要使用的。

编辑

更换

有效,但当焦点从 Unity 转移到另一个应用程序时会引入问题。这样做会导致运动无法完成。在开始计时器之前每帧而不是一次计算它似乎更合理。

MatrixTai 的回答解决了这两个问题。

0 投票
0 回答
818 浏览

c# - Unity 平滑旋转和缩放

下面是我的碰撞脚本的一部分,一切正常。

我试图弄清楚如何让“播放器”进行平滑旋转并缩小播放器对象的比例。我该怎么办?我是否应该创建一个检查变量并检查更新方法以进行平滑旋转,但我不知道平滑缩放缩小。任何有关如何解决此问题的帮助将不胜感激。

0 投票
0 回答
171 浏览

ios - 通过 SKConstraint 使用 LERP 移动 SKCameraNode

我只是想知道是否有一种方法可以在我的 SKCameraNode 通过使用 SKConstraints 跟随我的播放器节点时在我的 SKCameraNode 上实现线性插值效果。我目前使用的约束与 Apple 的 Demo Bots 教程中使用的约束相同。另一种选择似乎是使用动作来延迟/时间重新定位我的相机,或者直接在更新方法中延迟更改位置。摄像机滚动看起来有点生涩,而与玩家的距离限制设置为常数 0.0,就像在 Demo Bots 中一样。请让我知道您的想法,感谢所有反馈。

0 投票
1 回答
323 浏览

c# - 在计时器上运行 lerp

首先,我没有使用任何类型的游戏引擎,我正在用 C# 修改游戏并且我没有使用 UnityEngine API,所以我没有任何 Update() 函数。

所以我想弄清楚如何创建一个计时器,一些开箱即用的标准 C# 计时器,它会在设定的速度上增加 lerp 距离。

我想将它包装在一个计时器中,每 100 毫秒它会在一段时间内将 lerp 末尾的浮点数增加一些设定的量,所以说我设置了float speed = 5f; 我想每 100 毫秒增加 lerp 距离 5 秒直到达到它的目标。

这可能吗?

0 投票
1 回答
237 浏览

c# - 随着时间的推移平滑地更改 lerp 值

我目前正在研究动态天空盒。我的天空盒由 3 个独立的脚本组成:

自定义列表,自定义列表编辑器,TOD.CS

CustomList.cs 具有存储变量的类,用于存储每个变量在特定时间的含义。示例:时间、云颜色、地平线颜色等。

CustomListEditor.cs 是一个自定义检查器,用于设置值并将它们添加/删除到时间 (TOD) 列表中。

TOD.cs 是计算从一个 TOD 到另一个 TOD 的时间传递和 lerping 变量的地方。

我目前遇到的问题:我无法均匀地处理每个 TOD。基本上我遇到的问题是我的 lerp 在一天中的每个时间之间运行不顺畅,而是有一些运行速度较慢和一些运行速度更快的部分。我承认这是一个数学问题,我不完全确定如何获得正确的方程以使其正常工作。

如果有人可以提供帮助,那就太棒了。这是我绘制的时间和单独的时间。请记住,TOD 可以及时放置在任何地方,因此示例中的数值不确定。

0 投票
1 回答
470 浏览

unity3d - Vector3.Lerp 错误?

我知道如何随着时间的推移移动游戏对象,但我有一个奇怪的错误。

我正在尝试创建漂亮的动画,其中相机在按钮单击时向前移动,在第二次按钮单击时向后移动。

我正在使用此处的代码来制作动画并且遇到了一个奇怪的问题。

这是我的代码:

向前运动效果很好,但由于某种原因,当我尝试向后移动时,它移动得太快了。我试图打印结果(当前/时间),并且在向后移动中,当变换到达目的地时,它是 0.1(大约)。

PS - 我Cotoutine在后台运行另一个(如果重要的话)

你知道为什么会这样吗?

提前致谢