问题标签 [physx]

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

physx - Physx 动态 Actor 运动

我有一个动态领域。如何在运动中输入它?然后能够从障碍物中反弹回来。重力禁用。不要在 x ++ y ++ 之后使用 3d 和球体演员的形状。

0 投票
2 回答
242 浏览

unity3d - 为什么一个物体的质量永远不会是另一个物体的 100 倍?

我在很多地方读到过,两个物体相互碰撞,其中一个物体的质量比另一个物体的质量大 100 倍以上会导致碰撞物理问题。然而,当我自己测试它时,我发现我正在尝试做的事情并没有真正的问题。

本质上,我希望有人能详细说明为什么两个碰撞物体之间的质量差异如此之大是一件坏事,因为目前我还没有看到为什么不这样做的任何理由,只是很多高代表人们说不要这样做。

0 投票
1 回答
89 浏览

c++ - 如何使用 PhysX 数据计算韦伯数?

我正在开发一个使用 PhysX 作为底层物理求解器(使用它的 SPH 模拟)的非真实水渲染演示,并希望添加泡沫和水滴渲染以增强其视觉效果。

首先,我使用相邻粒子的数量作为阈值将它们分成组(水、泡沫和液滴),并以不同的方式渲染每个组,但阅读一些研究论文我得出的结论是,使用更基于物理的方法会更好,所以输入韦伯数。

以下参数用于获取韦伯数,它们都与某个粒子或整个流体相关:

  • 密度
  • 相对速度(相对于周围空气)
  • 特征长度
  • 表面张力

密度和相对速度由 PhysX 提供,我已经得到了。虽然密度是一个浮点值,但速度是一个包含 3 个浮点值的向量,一个用于 3D 空间的每个轴(x、y 和 z)。没有提供特征长度和表面张力,很难(或者如果提供它们我不知道如何获得它们)。

所以,我的问题是:

  • 我相信韦伯数必须是一个浮点值,所以我可以用它作为一个阈值来将粒子分成组。这里的第一个问题是,要获得它,我需要使用 PhysX 提供的相对速度,它是一个具有 3 个浮点值的向量。如何获得该向量的单个浮点值以在给出韦伯数的方程中使用它?
  • 阅读了一些研究论文(尤其是这一篇,在第 3.2.1 节中),我决定对粒子特征长度和表面张力使用固定值。问题是,我应该使用哪些值,假设这些值有理想值,我怎样才能得到这些理想值?
0 投票
1 回答
1285 浏览

c++ - PhysX 地形 - 高度场与三角形网格

我正在做一个项目,我需要在我的 PhysX 应用程序中创建一个地形。

作为输入数据,我有 dted 文件(海拔)。

在 PhysX 中创建地形的更好方法是什么?我需要有一个大地形。

我尝试创建一个 HeightField,但我发现示例数组维度限制为 255.999 值(260.000 我有崩溃)。这个观察正确吗?这意味着我需要多个高度场来创建大地形?

提前致谢

0 投票
1 回答
299 浏览

physx - Physx中的ridig static actor和kinematic ridig dynamic有什么区别

它们看起来都像静态的。不要被武力移动。并可通过程序设置位置。

0 投票
1 回答
983 浏览

unreal-engine4 - 如何在 UE4 中实现 PhysX Cloth 的动画?

如何在 UE4 中实现 PhysX Cloth 的动画,比如https://youtu.be/dviWZcphcIQ?t=18s

在哪里可以找到具有相同动画的项目来源?

0 投票
1 回答
236 浏览

c++ - 转换基指针时出错:`无法实例化抽象类`

我正在使用 C++ 中的 PhysX 并cannot instantiate abstract class在以下代码中收到错误:

代码只是一个例子。PxD6joint 是一个继承自 PxJoint 的抽象类。我认为必须有某种方法可以访问&jvia的公共成员joints[0],但是,如果有,我做的不对。

0 投票
1 回答
417 浏览

physx - PhysX3:addTorque() 和 addForce() 对 PxRigidDynamic 没有影响

我已经将我的项目从 PhysX2 更新到了 PhysX3,并且在清除了大多数与不同数学数据类型和其他问题有关的问题之后,我仍然有一个问题。

现在的问题是,每当我使用 addTorque() 函数时,它对刚体没有影响。addForce() 及其变化会引起横向运动,但如果不对称应用,它们也不会引起扭矩。我不认为身体受到任何约束,因为如果我使用 setAngularVelocity(),身体会以设定的速度旋转。

在这种情况下可能出现什么问题,我还能尝试找出问题所在?

如果重要的话,我的时间步长是 1.0f/60.0f

0 投票
0 回答
112 浏览

physx - 如何读取更新的布料粒子位置

目前,我正在阅读 Krishna Kumar 的书“Learning Physics Modeling with PhysX”。

布料示例的源代码使用一种方法getRenderBuffer()来获取我们为网格描述定义的点、三角形和四边形,但他没有在他的书中解释任何关于此方法的内容。

实际上是做什么的getRenderBuffer()?这是获取更新的布料粒子位置的(唯一)方法吗?如果是这样,既然getRenderBuffer()是 PxScene 对象的方法,那么当场景中有很多布料演员时,我们应该怎么做?

0 投票
1 回答
411 浏览

unity3d - Unity3D 是如何编译 PhysX 的?

Unity3D 使用 Mono 将代码编译为纯中间语言以实现交叉兼容性(如果我错了,请纠正我)。PhysX 包含本机代码,其中一些无法在纯托管代码 (/clr:pure) 中表示。

我知道您不能将 ijw/native 模块与纯模块链接;您不能以纯模式链接本机目标文件。然而,Unity3D 似乎通过包含 PhysX 解决了这个问题。如何?

除了通过 Unity 和 PhysX 合作的可能的特殊构建之外,我找不到任何可以解释这一点的资源:Unity3D 如何在不需要 PhysX 运行时的情况下使用 PhysX?