问题标签 [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.
c# - Unity 3D 布料拉伸
我开发了一个游戏,用户可以调整发射球的角度和力量,以尝试进球。我为网格设计了一个具有大量顶点的平面并将其导入统一。球很好地击网,尽管网并不总是伸展。例如,如果我将角度设置为 17 度和功率 100,由于某种原因,布料不起作用。但是关于我遇到的一个问题是我不想在一开始就模拟,而应该只模拟球碰到布的时候。另一件事:有没有办法让布料拉伸得更大,并以某种方式吞没球?谢谢
openscenegraph - 打开场景图 - DrawElementsUInt 的用法:在不复制顶点的情况下绘制布料
我目前正在模拟类似布料的材料,然后通过 Open Scene Graph 显示结果。我已经获得了显示类似布料的设置,只需将所有顶点转储到 1 个 Vec3Array 中,然后使用基于标准点的 DrawArrays 显示它们。但是,我正在考虑在顶点之间添加面,以便我的应用程序的另一部分可以直观地看到布料。
这就是我目前正在尝试的 PrimitiveSet
然而,这确实会在运行时导致内存损坏,而且我在汇编代码中不够流利,无法在 CLion 给我反汇编代码时破译它试图做错的事情。
我的想法是,我将遍历布料的每个面,然后选择属于它的顶点的 4 个索引。顶点从左上到右下依次输入。所以:
以前有没有人遇到过这个特定的用例,他/她可能对我的问题有解决方案吗?任何帮助将不胜感激。
three.js - THREE.js 中的 ParametricBufferGeometry
在布料模拟示例代码中有一个叫做 ParametricBufferGeometry 的东西,它接受 3 个参数该函数实际上是什么意思?
在文档中我找不到任何合适的文档它说
ParametricBufferGeometry(func : Function, slices : Integer, stacks : Integer) func — 一个函数,接受 0 和 1 之间的 au 和 v 值并修改第三个 Vector3 参数 slices — 用于参数函数堆栈的切片计数 —用于参数函数的堆栈数
谁能解释一下它实际上是什么..
unity3d - Unity 的布料组件是否使用 GPU?
我想知道 Unity 的 Cloth Component 是否使用 GPU 进行计算?
Unity Docs 没有提供有关如何在不同物理库后面管理布料的任何信息。
webassembly - 在浏览器中求解显式欧拉法的最快方法
我想在网络浏览器中使用每帧/顶点操作最少的方法进行简单的布料模拟,我认为这是显式的欧拉。这是一个使用香草 JS 的非常基本的初稿,布料是 4D,但这不应该对算法产生影响:
两个明显的加速方法是 WASM 和 WebGL(例如通过 GPU.js)。我从未尝试过 WASM,并且在 WebGL 方面有一些经验,但不适用于通用计算。所以在我开始研究其中之一之前,最终哪一个能让我获得最快的结果?
unity3d - 用于 VR 的 Unity 中的餐巾纸
我正在尝试制作一张餐巾纸,它会与我在 Unity VR 中的手模型发生碰撞。问题是即使我在布料对象上添加了碰撞器,手的拇指手指穿过餐巾纸。我怎样才能让这个对撞机不穿过布料对象?PS:我也尝试过 Obi Cloth 来解决这个问题,但在性能方面它对我的项目来说真的很糟糕,所以它不是一个选择。谢谢。
javascript - webgL - 在布料模拟上应用风效果
我需要在布料的模拟中实现风力的简单效果。我的布料由使用弹簧连接的 10x10 个顶点(cloth_vertices 数组中给出的 100 个索引)制成。弹簧定义如下:
在我的函数 updateCloth() 中,我已经实现了重力、弹簧和阻尼力,它们可以正常工作,但现在的问题是应用风效果:
该函数被多次调用以对另一个 run() 方法产生动画效果。我读到风的影响取决于时间变量,然后我取了整个函数执行之前(在调用 updateCloth() 之前定义的时间变量)和每次调用它之间的差异。然后我使用了一个简单的方程找到在我称之为风的互联网上,它允许有一个在负值和正值之间振荡的小值(~-2 / ~+2)。我将此力施加到 f[p],其中 p 是开始弹簧的顶点的索引,我将它的倒数施加到结束弹簧的 f[q](我输入负值,因为我知道在弹簧中一个顶点的力与另一个顶点的力相反,但我不确定这个想法是否也适用于风)。我只在 x 值上施加了这个力(实际上我有 f[p][0])以便于计算,但我认为它必须应用于所有三个方向(我有一个 3D 模拟,然后是 x,y ,z)。结果是布料的一半无限地朝向一个方向,一半朝向另一个方向。力值和速度都正确振荡,但问题是顶点的位置继续增加,有些是正值,有些是负值。我不知道如何获得增加的风的效果,但直到一定值,然后保持不变。我读到它的值取决于顶点的位置(我将布料的左右角固定为不会飞走,然后我想风的效果必须在底部更大布),但我没有
在没有风的情况下,我的布料可以想象如下:
在应用我错误的风效果时,它的行为方式如下:
我希望我提供了所有信息,否则请不要犹豫。