gpt4 book ai didi

c++ - Physx 3 的几个新手问题

转载 作者:行者123 更新时间:2023-11-30 04:26:44 29 4
gpt4 key购买 nike

今天,我试着玩弄 Physx 和 Physx 可视化调试器,一如既往,新手会遇到问题和疑问。我会用我糟糕的英语水平尽可能地描述我的问题。

1) 我设法创建了一个 physx 场景。添加一个动态 Actor 并操纵它。我在 Visual Debugger 中看到它在运动。这是一个标准的 PxSphereGeometry 球。但是,当我在场景中添加第二个球时,第二个球是不可见的,但我可以看到碰撞发生了。这是代码,如果有人能指出它有什么问题,我将不胜感激:

PxMaterial* mMaterial;

mMaterial = mPhysics->createMaterial(0.5f, 0.5f, 0.5f); //static friction, dynamic friction, restitution

if(!mMaterial)
error("createMaterial failed!");

PxVec3 position(0, 50, 0);
PxRigidDynamic* aSphereActor = PxCreateDynamic(*mPhysics, PxTransform(position), PxSphereGeometry(3), *mMaterial, 1.f);
PxRigidDynamic* aTrActor = PxCreateDynamic(*mPhysics, PxTransform(PxVec3(3, 1, 1)), PxSphereGeometry(3), *mMaterial, 1.1f);

if(!aSphereActor)
error("Unable to create sphere actor");

aSphereActor->setMass(1);

aTrActor->setMass(10);

PxRigidStatic* plane = PxCreatePlane(*mPhysics, PxPlane(PxVec3(0,1,0), 0), *mMaterial);
if (!plane)
error("create shape failed!");

mScene->addActor(*plane);
mScene->addActor(*aSphereActor);
mScene->addActor(*aTrActor);


while(true)
{
mScene->simulate(1.0f / 30.0f);
if(!mScene->fetchResults(true))
error("cant fetch result");
Sleep(10);
}

在此场景中,aSphereActor 与 aTrActor 发生碰撞,但我在 Visual Debugger 中看不到 aTrActor,但碰撞是完全可见的。

2) Nvidia 的文档非常非常差。对于我这样的新手来说,找到它的方法是一种折磨。所以我想知道如何导入 3d 模型并将其添加到场景中。我知道 3ds max、maya 等有一个 Physx 插件。假设我有一个用这个插件导出的模型,我如何将它导入我的应用程序并将它添加到场景中?

3)场景创建过程中

sceneDesc.gravity = PxVec3(0.0f, -9.81f, 0.0f);

,我应该提供什么值才能获得真正的引力,即我们在地球上拥有的引力

4) 我可以为 Actor 分配质量,但我不知道质量是用哪个测量单位表示的。例如,如果我设置 aSphereActor->setMass(1); aSphereActor 会是 1 公斤、克还是什么?

非常感谢大家。我感谢您的帮助。

最佳答案

首先,我将在本季度进行我的第一个 Physx 项目。 (读作,我可能正在弥补这个)
1)
您不检查 aTrActor 的创建,但我认为这不是您的问题。
检查您的绘制/更新回调中是否有 TrActor。
2)
不知道
3)
-9.81 m/s^2 是地球重力加速度。
我猜 PxVec3 是相对于每个轴的重力。
所以,PxVec3(0.0, -9.81, 0.0) 没有 x 或 z 加速度和 -9.81 m/s^2 y 加速度。
4)
#3 的答案表明单位是公制。
您可以将它们全部放在标准中,但公制 > 标准 imo。

只看了日期,这可能对 Davita 没有帮助,但希望它对某人有用。

关于c++ - Physx 3 的几个新手问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11353224/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com