问题标签 [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 投票
0 回答
133 浏览

loops - P5js 中的多重插值

我正在尝试在 p5js 中创建多个插值,为此我尝试在 javaScript 中重新创建 Ben Fry 的 Integrator 类。我意识到从处理到 p5js 的转换和转换非常困难,所以如果这是不可能的,如果你给我提示以另一种方式做这件事,我将不胜感激。谢谢你。

这是我到目前为止所做的。. .

这里也是 Ben Fry http://benfry.com/writing/map/Integrator.pde的原始处理代码的链接

0 投票
1 回答
437 浏览

c# - Unity GameObject 在第二次移动时运行不流畅

所以我有一个脚本来移动游戏对象。当我移动一个游戏对象时,它很流畅。但是当我第二次移动它时,它的移动速度非常慢,看起来有点马车。

移动脚本中的第一个输入是对象,然后是它需要移动到的位置和速度作为最后一个参数。所有坐标都基于本地位置。我使用等待是因为我想在执行第二个动作之前等待。

我也尝试过两次移动其他物体,但它们最终都移动得很慢/有问题。

我不想在更新中运行它,这就是我使用协程的原因。

这是我的代码:

有人知道出了什么问题吗?

亲切的问候

0 投票
1 回答
399 浏览

arrays - 处理中的插值函数

我是处理的新手,我正在尝试lerp处理处理中的功能。基本上我想做的是,点击屏幕上的不同点,这些位置被存储在一个数组中。当用户点击 时,存储的动作会在点之间以平滑enter的移动方式回放。ellipse我的问题是,当我单击 Enter 时,我得到“算术异常为零”。你能指导我我错过了什么吗?谢谢。

0 投票
1 回答
545 浏览

arrays - 处理 - 两点之间的动画

我正在开发以下代码。给你一个简单的描述,它允许用户点击屏幕上的不同点,然后这些鼠标坐标和位置被存储在一个数组中,也可以在屏幕上看到。当用户单击enter时,使用线性插值技术从第一个点移动到最后一个点。我在for循环中遇到困难,因为它PVector v正在存储坐标。有人可以相应地指导我吗?

0 投票
3 回答
2464 浏览

c# - Vector3.Lerp 不工作

我正在尝试从当前位置平稳地移动到我硬编码的新位置,但即使使用Vector3.LerpVector3.MoveTowards它只是正常移动播放器而没有任何延迟效果。

我还尝试在 Vector3.Lerp 方法中添加Time.deltaTime,但它只是稍微移动了玩家。我只是想让玩家平稳地向设定的位置移动。

我是 Unity 的新手,我们将不胜感激任何帮助。

0 投票
2 回答
278 浏览

unity3d - 将游戏对象夹在边界内,同时沿着 x 和 y 缓慢跟随另一个对象

我正在尝试制作一个空气曲棍球游戏,我需要将 AI 夹在一个特定区域,同时它在半边时跟随冰球在棋盘周围。我认为下面的代码会起作用,但是我从桨中得到了一些奇怪的行为,它要么 a) 在关卡开始时卡在 y=minY 上,要么 b) 它似乎会连续在 minY 和 maxY 之间切换。

谢谢你的帮助。

编辑 我应该补充一点,如果我只在 y 上使用夹子,它会按预期工作,但是如果我也不夹住它,它可能会随着时间的推移从 x 中夹出。

0 投票
1 回答
1898 浏览

c# - 平稳跟随的波涛汹涌的相机运动

在我的多人浏览器游戏中,当我的玩家使用相机后,我看到相机卡顿。玩家位置是从服务器接收到的,玩家会移动到那个位置,我的目标是让相机通过自己的额外平滑平滑地跟随玩家。

您可以在http://orn.io找到我的游戏以查看当前状态,没有平滑跟随相机 lerping,这更好,但会导致运动不稳定并让人头疼。相机的当前代码如下:

我已经尝试了几天来修改这些值,使用固定时间戳,将相机移动置于 FixedUpdate/Update 中,使用 MoveTowards 和其他更改,但仍然遇到问题。

我的部分问题是玩家位置在 lerp 中间发生了变化,这会导致卡顿,因为目标位置在 lerp 中间发生了变化。由于 lerp 的目标位置在 lerp 的中间发生变化,这会导致相机跳跃/抖动,并由于 LookAt 而抖动。

如果有人能提出一种改进相机的方法,我将不胜感激,因为它现在的代码。

0 投票
0 回答
326 浏览

c# - 平滑物体后平滑相机跟随

我有一个依赖服务器的多人 Unity3D 游戏,其中服务器是用 Node.js 编写的。服务器向玩家的位置发送更新,玩家在客户端上对这些位置进行 lerp 模拟以模拟流畅的移动。我没有使用 Unity 物理来进行玩家移动。我每秒获得大约 20 个数据包更新,因此我使用每次更新之间的时间除以 0.12 秒 lerp 间隔。

我用来计算 deltaTime 以影响玩家移动的代码是:

这似乎可以平滑玩家的移动,但我无法让相机始终平稳地跟随玩家。我在 LateUpdate 中使用 Time.deltaTime 进行相机平滑处理。这使它变得波涛汹涌,生涩和口吃。我还希望相机在玩家身后稍微倾斜一点,所以如果玩家的动作卡顿,相机就不会。

我尝试打开和关闭 VSync,将玩家移动移动到 FixedUpdate,并将相机从 LateUpdate 移动到 FixedUpdate,并且正在寻找更多建议。

0 投票
5 回答
6495 浏览

unity3d - Lerp 与 Time.deltaTime

我有一个关于 Lerp 的问题。所以我知道 lerp 可以帮助您移动对象,例如:

这将使您的对象到达您的终点。但是如果你有这个代码:

您的对象怎么可能到达您的目的地,lerp 的第 3 个参数必须缓慢到达 1,以便您的对象到达您的目的地。但是 "speed" , "3.0" , "Time.deltaTime" 总是一样的,那么你的对象怎么可能到达你的目的地呢?

所以一个大问题:是否有可能用一些变量来做 lerp,这些变量总是具有相同的值和 Time.deltaTime?

现在,由于不同的评论等。我不确切知道 lerp 是如何工作的,我有可能:

1.)首先我认为它是这样工作的:

Vector3.lerp(a,b,c) c 值必须改变每一帧才能移动对象。如果 c 值为 0.2,则您的对象将移动 20%,如果 c 值不改变,则对象将始终移动 20%。因此,要使对象流畅地移动,您的 c 值必须在每一帧中稍微改变一下,这样您的 c 值将从 0 变为 1,您的对象从起点到目的地也是如此。

或者是这样的

2.)由于有几条评论,我认为 lerp 像这样工作

就像评论说的那样,c 值不必改变值,因为如果你有 c = 0.2,你将通过 20% 的方式和下一帧,如果 c 仍然是 0.2,你将通过剩余的 20%方式等等。

那么 lerp 是像 1 一样工作(你必须更改 c)还是像 2 一样工作(你不必更改 c)

0 投票
2 回答
5462 浏览

c# - Lerp 颜色的 alpha 值

我想来回更改颜色的 alpha 值(透明度):

这不行,颜色瞬间变成白色,一直闪烁原来的颜色。我正在关注这个