问题标签 [cloth-simulation]

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 回答
295 浏览

c# - Unity 3D 布料拉伸

我开发了一个游戏,用户可以调整发射球的角度和力量,以尝试进球。我为网格设计了一个具有大量顶点的平面并将其导入统一。球很好地击网,尽管网并不总是伸展。例如,如果我将角度设置为 17 度和功率 100,由于某种原因,布料不起作用。但是关于我遇到的一个问题是我不想在一开始就模拟,而应该只模拟球碰到布的时候。另一件事:有没有办法让布料拉伸得更大,并以某种方式吞没球?谢谢

0 投票
1 回答
237 浏览

openscenegraph - 打开场景图 - DrawElementsUInt 的用法:在不复制顶点的情况下绘制布料

我目前正在模拟类似布料的材料,然后通过 Open Scene Graph 显示结果。我已经获得了显示类似布料的设置,只需将所有顶点转储到 1 个 Vec3Array 中,然后使用基于标准点的 DrawArrays 显示它们。但是,我正在考虑在顶点之间添加面,以便我的应用程序的另一部分可以直观地看到布料。

这就是我目前正在尝试的 PrimitiveSet

然而,这确实会在运行时导致内存损坏,而且我在汇编代码中不够流利,无法在 CLion 给我反汇编代码时破译它试图做错的事情。

我的想法是,我将遍历布料的每个面,然后选择属于它的顶点的 4 个索引。顶点从左上到右下依次输入。所以:

以前有没有人遇到过这个特定的用例,他/她可能对我的问题有解决方案吗?任何帮助将不胜感激。

0 投票
0 回答
299 浏览

blender - 我可以在搅拌机中附加带有绳索和固体物体的衣服以进行模拟吗?

我正在尝试创建一个船帆并模拟风帆移动

但我不能让衣服附着在其他物体上并像这个视频一样通过风力移动它们

https://www.youtube.com/watch?v=-DQdzhTH6PA

0 投票
1 回答
546 浏览

three.js - THREE.js 中的 ParametricBufferGeometry

在布料模拟示例代码中有一个叫做 ParametricBufferGeometry 的东西,它接受 3 个参数该函数实际上是什么意思?

在文档中我找不到任何合适的文档它说

ParametricBufferGeometry(func : Function, slices : Integer, stacks : Integer) func — 一个函数,接受 0 和 1 之间的 au 和 v 值并修改第三个 Vector3 参数 slices — 用于参数函数堆栈的切片计数 —用于参数函数的堆栈数

谁能解释一下它实际上是什么..

0 投票
2 回答
1862 浏览

three.js - 3d obj布料模型的布料模拟

我在 three.js 中看到过很多布料模拟。我发现它只用 2d 平面表面完成。但是有没有一种方法可以模拟像下面这样的 3d 布料模型..

平面 2d 模拟有很多教程,例如

二维布料模拟

下面给出了它们的代码......

我可以做一个网格就像挂布一样,当风吹来时,它们必须做出相应的反应。无论是使用 three.js 和 ammo.js 还是 cannon.js

0 投票
1 回答
506 浏览

unity3d - Unity 的布料组件是否使用 GPU?

我想知道 Unity 的 Cloth Component 是否使用 GPU 进行计算?

Unity Docs 没有提供有关如何在不同物理库后面管理布料的任何信息。

0 投票
0 回答
30 浏览

webassembly - 在浏览器中求解显式欧拉法的最快方法

我想在网络浏览器中使用每帧/顶点操作最少的方法进行简单的布料模拟,我认为这是显式的欧拉。这是一个使用香草 JS 的非常基本的初稿,布料是 4D,但这不应该对算法产生影响:

两个明显的加速方法是 WASM 和 WebGL(例如通过 GPU.js)。我从未尝试过 WASM,并且在 WebGL 方面有一些经验,但不适用于通用计算。所以在我开始研究其中之一之前,最终哪一个能让我获得最快的结果?

0 投票
0 回答
31 浏览

unity3d - 用于 VR 的 Unity 中的餐巾纸

我正在尝试制作一张餐巾纸,它会与我在 Unity VR 中的手模型发生碰撞。问题是即使我在布料对象上添加了碰撞器,手的拇指手指穿过餐巾纸。我怎样才能让这个对撞机不穿过布料对象?PS:我也尝试过 Obi Cloth 来解决这个问题,但在性能方面它对我的项目来说真的很糟糕,所以它不是一个选择。谢谢。

0 投票
1 回答
63 浏览

javascript - webgL - 在布料模拟上应用风效果

我需要在布料的模拟中实现风力的简单效果。我的布料由使用弹簧连接的 10x10 个顶点(cloth_vertices 数组中给出的 100 个索引)制成。弹簧定义如下:

在我的函数 updateCloth() 中,我已经实现了重力、弹簧和阻尼力,它们可以正常工作,但现在的问题是应用风效果:

该函数被多次调用以对另一个 run() 方法产生动画效果。我读到风的影响取决于时间变量,然后我取了整个函数执行之前(在调用 updateCloth() 之前定义的时间变量)和每次调用它之间的差异。然后我使用了一个简单的方程找到在我称之为风的互联网上,它允许有一个在负值和正值之间振荡的小值(~-2 / ~+2)。我将此力施加到 f[p],其中 p 是开始弹簧的顶点的索引,我将它的倒数施加到结束弹簧的 f[q](我输入负值,因为我知道在弹簧中一个顶点的力与另一个顶点的力相反,但我不确定这个想法是否也适用于风)。我只在 x 值上施加了这个力(实际上我有 f[p][0])以便于计算,但我认为它必须应用于所有三个方向(我有一个 3D 模拟,然后是 x,y ,z)。结果是布料的一半无限地朝向一个方向,一半朝向另一个方向。力值和速度都正确振荡,但问题是顶点的位置继续增加,有些是正值,有些是负值。我不知道如何获得增加的风的效果,但直到一定值,然后保持不变。我读到它的值取决于顶点的位置(我将布料的左右角固定为不会飞走,然后我想风的效果必须在底部更大布),但我没有

在没有风的情况下,我的布料可以想象如下:

在此处输入图像描述

在应用我错误的风效果时,它的行为方式如下:

在此处输入图像描述

我希望我提供了所有信息,否则请不要犹豫。