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

c++ - 是否可以为 Unreal Engine/Unity 制作 64 位定位系统?

我一直想知道 1. 64 位定位系统是否可以从地球过渡到太空,再到另一个星球,有点像 Kerbal 太空计划,但没有原点转移,因此可以从中获取真实数据。2. 有可能这样做吗?怎么做?

0 投票
0 回答
114 浏览

c# - 统一3d。凸对撞机限制

我想断言我不能将对撞机设置为凸面。

我已经发现了一些限制: - trigs 必须在 3 到 254 之间。

但仍有一些我无法处理的情况:

返回:

未处理的日志消息:[错误] [Physics.PhysX] ConvexHullBuilder::CreateTrianglesFromPolygons:凸包的多边形少于 3 个顶点!UnityEngine.MeshCollider:set_convex(Boolean) BzKovSoft.ObjectSlicer.ObjectSlicer.MyTests:Test() (在 Assets/BzKovSoft/ObjectSlicer/Editor/MyTests.cs:43) System.Reflection.MethodBase:Invoke(Object, Object[]) NUnit .Framework.Internal.<>c__DisplayClass9_0:b__0() UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

您能否建议参考凸对撞机的所有这些规则?

0 投票
2 回答
581 浏览

c++ - C++ Nvidia PhysX 无法将 PxFoundation 转换为 shared_ptr<>

我试图创建一个 PxFoundation 并将其保存在我的成员变量“foundation”中,它是一个 std::shared_ptr。然而,在创建对象时,我得到了这个:

如何将 PxCreateFoundation 函数中的原始指针放入 shared_ptr?因为我没有调用任何 PhysX 类的 ctor,所以我不能使用 std::make_shared,所以使用普通的 std::shared_ptr<>() 构造函数似乎是我唯一的选择?

代码:

编辑: 改变后

它现在给了我这些错误:

编辑2:

下面是 PxCreateFoundation 声明和定义:

PxFoundation 类:

创建实例定义:

0 投票
2 回答
646 浏览

c++ - PhysX.sln 无法编译 (PhysX 3.4)

我刚刚在 GitHub 上下载了 PhysX 3.4,但似乎无法编译 PhysX.sln。我收到很多这样的错误:

C1083 无法打开包含文件:'stddef.h':没有这样的文件或目录(正在编译源文件 ....\SimulationController\src\ScTriggerInteraction.cpp)

我不明白为什么它不能编译...知道吗?顺便说一句,我正在使用 Visual Studio 2017。

谢谢 !

0 投票
1 回答
354 浏览

c++ - 在 Nvidia PhysX 中创建网格的问题

我构建了一个快速的 python 脚本,它读取波前 .obj 文件并将顶点和面输出到文件。我有另一个 C++ 函数,它读取这些文件并创建基于这些文件的网格。

我遇到的问题是,有时这可以完美地工作,而其他时候却不是那么好 - 使用相同的网格。例如,我启动我的 PhysX 程序,网格显示如下;
完美模型

这是一个完美的案例。网格内完全没有错误。

但是,如果我关闭程序并返回它,它可以再次看起来很完美,或者这次看起来像这样;
可怕的模型 那更像是最坏的情况,有时只有几张脸被搞砸了。

最让我困惑的是它的随机性。即使代码没有任何变化,它也可能完全搞砸。这让我相信这是某种内存或文件访问问题?

以下 C++ 是加载顶点和三角形的代码:

编辑:对于任何新人来说,这个问题的代码已经更新,可以在这里找到:Gist

0 投票
0 回答
374 浏览

c++ - 在 PhysX 中创建三角形网格的问题

我构建了一个快速的 python 脚本,它读取波前 .obj 文件并将顶点和面输出到文件。我有另一个 C++ 函数,它读取这些文件并创建基于这些文件的网格。

我遇到的问题是,有时这可以完美地工作,而其他时候却不是那么好 - 使用相同的网格。例如,我启动我的 PhysX 程序,并创建 10 个相同网格的相同对象,其中一些看起来像这样:

普通网格

和其他看起来像这样:

破碎的网格

以下 C++ 是加载顶点和三角形的代码:

这是创建构建网格的代码

因此,如果有人可以帮助我找出问题所在,将不胜感激

0 投票
0 回答
588 浏览

c++ - 带层的碰撞过滤 (PhysX 3.4)

我想用 Unity 中的图层过滤我的碰撞,但我真的不明白该怎么做。我正在关注本教程:http ://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/RigidBodyCollision.html#collision-filtering

我要做的就是禁用具有 Cube 和 Plane 层的对象之间的碰撞...

图.cpp:

这是我设置过滤器着色器的方法:

物理X.cpp:

使用此代码,我的所有对象都不会发生碰撞...顺便说一下,我不太了解 PxFilter.word0、word1、word2 和 word3 是什么...

提前致谢 !

0 投票
2 回答
149 浏览

unity3d - Unity3D,“敲掉”类型的灯光对象?

在 Unity 场景中,想象一下

  • 一个大的滑动物体(可能是一个“集装箱”或一个“沙发”由于某种原因滑动)

  • 途中有数根2m高的轻木棍轻轻地插在地上。

在现实生活中,棍子会站在那里(首先,这实际上在 PhysX 中很难实现),当大物体击中它们时,

  • 大物体将完全不受影响

  • 棍子会被轻快地击倒,可能会从地面反弹一两次,然后降落在某个地方

我发现这在 Unity 中很难做到。

通常你会说:“给大物体几千的质量,而棍子的质量只有 1 或 2 公斤”。

但是我发现这真的行不通- 棍子确实倾向于旋转大型滑动物体。

如果你将大物体的角度阻力设置得高,那不是你想要的,因为它是其他行为。

在第一个例子中,我使棍子运动(这样他们就可以站起来而不会摔倒),然后当大物体敲击它时......

也许这样做的唯一方法是

  • 事实上,这些棍子在物理上完全不受大物体的影响

  • 当他们触摸(触发)时,实际上只是独立地让棍子随机“飞走”。(让木棍只与地面碰撞,风景。)

如何在 Unity/PhysX 环境中执行此操作?

0 投票
1 回答
161 浏览

physics - 什么替代了 nvidia physx 3.4 中已弃用的批处理场景查询?

显然,“PhysX 3.4 版中已弃用批处理查询功能”。有谁知道什么会取代未来的批量查询?

0 投票
1 回答
432 浏览

physx - 如何在 UE4 中为 PhysX 定义 World Bound?

我正在尝试PxBroadPhaseType::eMBP为我的 ue4 项目使用算法。

如文件所述:

PxBroadPhaseType::eMBP 是 PhysX 3.3 中引入的一种新算法。它是一种替代的宽相位算法,当所有对象都在移动或插入大量对象时,它不会遇到与 eSAP 相同的性能问题。然而,当许多对象处于休眠状态时,它的一般性能可能不如 eSAP,并且它需要用户定义世界边界才能工作。

但是我在哪里可以定义世界边界?我在 PxSceneDesc 或 PxScene 中找不到这样的变量。