问题标签 [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 回答
4060 浏览

animation - Threejs lerp,lerpVectors 无需动画即可工作

我试图通过函数lerp, lerpVectors在一段时间后向不同方向移动 10 个网格。他们都给了我相同的结果,他们只是将网格物体传送到新的位置,而没有移动到那里的动画。这是我的代码(带有“lerp”):

我确信有另一种方法通过计算距离然后将它们减小到 0。但我想lerpleprVectors做同样的事情,所以问题是我做错了什么?

r83

也许这两个功能都不像我预期的那样工作。

0 投票
1 回答
1092 浏览

c# - Unity:如何在没有 StartCoroutine 的情况下使用 Vector3.Lerp() 进行精灵移动

我想在没有 StartCoroutine 的情况下使用 Vector3.Lerp() 移动精灵。要在脚本中设置起点和目标点。我将精灵拖放到 Unity 编辑器中并运行它。然而,精灵并没有移动。谢谢。

0 投票
1 回答
791 浏览

c# - 用 Vector3.Slerp 控制圆弧轴

Vector3.Lerp()用来实例化一些彼此相距一定距离的预制件。这行得通,但我刚刚开始玩Vector3.Slerp.

这会产生一个很好的弧线,但是我希望弧线发生在 X 轴或 Z 轴上,而不是 Y 轴上。因此,预制件不会在空中形成弧线,而是始终与地面接触。

我一直在阅读,euler local transforms但我不完全确定这是否是正确的。

如果有人可以提供一些建议或意见,我将不胜感激。

0 投票
2 回答
118 浏览

c# - unity lerp 消除差距

我目前正在使用Vector3.Lerp. 这是有效的,但是它也在对象之间产生了一些间隙。如果起点和终点之间的距离不足以插入一个新对象,就会发生这种情况,但它足够大以至于它们可以滑动一点。他们需要端到端运行,直接相互对接。

代码是:

我的一部分认为,仅仅根据对象的大小/距离尝试连续实例化对象可能是值得的,但我似乎也不能完全正确。虽然这个系统被用于其他用途,我宁愿不重写全新的代码,如果可以稍微修改一下就可以了。我猜四舍五入 Lerp 值将是可行的方法,可能吗?

任何意见或建议将不胜感激。

0 投票
3 回答
784 浏览

scenekit - 如何在两个四元数之间进行 Lerp?

我有两个四元数:

如果我们创建两个对象,方向将非常相似

但是如果我们尝试从第一个到第二个 Lerp,那么位置会发生非常奇怪的变化(并且查看预期但不正确的值)

[Lerp 进度演示][1]

我用谷歌搜索并发现了许多功能来做 lerp 例如简单的一个:

但是如何避免这种奇怪的翻转呢?

PS:我尝试了 GLKit 的不同功能,但结果相同 [1]:https ://i.stack.imgur.com/8jEvm.png

- 正如建议的那样尝试翻转符号,但问题是我得到的点积大于 0

0 投票
0 回答
4594 浏览

python - 如何将两个数字之间的线性插值推广到更高维度的张量?

两个值之间的线性插值相当简单:

让我们将其推广到任意形状的张量 (2, 2, ...),即:

它在每个值都是标量时起作用,但在单个值是张量并且形状不像上面的断言时不起作用。例如:

如何使用纯 numpy、没有 python 递归、使用数组索引等来实现它,以便它也适用于张量值?有什么 numpy 功能吗?

0 投票
0 回答
53 浏览

c# - 超时移动游戏对象到新位置

我很确定这是我正在查看的菜鸟错误,但我需要一些指导。这是我的代码:

很少有问题,在 if 语句中使用注释代码时,一切正常;我单击一个对象,它会向上移动包含所有子对象的父对象。现在我想平滑这个运动,而不是像它的传送一样。所以我试图用 Lerp 做到这一点,但我在这里遗漏了一些东西。现在看起来父母正在“传送”(所以这里没有 lerp)并且它正在向各个方向传送,所以不仅仅是在 Y 方向。

抱歉,如果这是一个非常愚蠢的问题,但我需要一些帮助。干杯

0 投票
0 回答
291 浏览

java - Java - 对象不会离开屏幕(仅限顶部和左侧)

每当它们离开屏幕时,我都试图将它们“传送”到相反的位置。我已经设法用right&bottom边做到了这一点,但由于某种原因,我还没有弄清楚,星体不会在TOP&LEFT边上离开屏幕,除非 lerping 速度足够高。

预习:
在此处输入图像描述

主.java

星辰.java

Ship.java

配置文件

0 投票
0 回答
834 浏览

c# - 协程 Lerp 无法正常运行?

这个问题有两个部分 - 第一个是运行嵌套的 for 循环以通过它们的碰撞边界(collider.bounds)分隔父游戏对象的子对象。如果发生碰撞(边界相交),相交的游戏对象会执行 Lerp 代码以尝试退出碰撞。

Lerp 执行正常,但如图所示,它运行不正常。它将孩子 1,2,3,4 正确地移动到彼此边界之外,但它将它们完全移离孩子 0 太远。同样,如果持续时间改变,移动每个对象的时间也会调整,但它们之间的距离也会调整他们——不应该这样。

编辑:(附加细节)
函数通过参数而不是 Transform 和 Vector3 传递索引。Transform fromPosition、Vector3 toPosition 和 startPos 都以相同的方式使用,但是,而不是像 Programmers coroutine 最初那样传递它们(因为我不能,因为这个实现是特定于运行时的,我不知道哪些对象确切地说,这将在上面运行)它们是在修改后的协同程序中首先计算出来的。

程序员的实现是将游戏对象移动到指定位置。我需要对每个孩子进行 Lerp 直到他们不与彼此的界限相交。

这意味着 Lerp 需要按照 endPosition 的规范持续执行,一旦其移动的对象不再与其比较的对象相交。这里实现的方式是使用一个while循环来不断地执行一个渐进运动的Lerp(Vector3.right)作为endPosition,直到碰撞体不再相交。问题是,它没有按预期工作。

那么,如何在这里修复 Lerp 实现呢?

下面的资源:
内嵌图片,该图片的链接,相关代码

PS:

  • 注释'//translating'下的代码是为了显示想要的结果是什么,除了翻译不会像Lerp那样产生平滑的运动。
  • 协程“MoveToX”几乎完全是从 SE 上的一个类似问题中重用的代码,其中用户询问如何在更新之外顺利进行 Lerp。

外部图片链接

内联图二

0 投票
3 回答
9409 浏览

python - 两点之间的等距点?

我想知道两点之间的等距点。例如:

我期待的答案是:

在此示例中,使用p1, 和p2

永远是一条直线。 在这种HowManyParts情况下,整个距离被划分为二维。
numpy.linspace()