首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Physx 3的几个新手问题

Physx 3的几个新手问题
EN

Stack Overflow用户
提问于 2012-07-06 06:09:17
回答 1查看 1.7K关注 0票数 1

今天,我试着使用Physx和Physx可视化调试器,像往常一样,新手有问题和问题。我会尽量用我糟糕的英语能力来描述我的问题。

1)我设法创建了一个物理场景。添加了一个动态参与者并对其进行了操作。我在Visual Debugger中看到了它的运动。这是一个标准的PxSphereGeometry球。然而,当我在场景中添加第二个球时,第二个球不可见,但我可以看到碰撞发生了。以下是代码,如果有人能告诉我它的错误之处,我将非常感激:

代码语言:javascript
复制
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发生碰撞,但我在可视调试器中看不到aTrActor,但是碰撞是完全可见的。

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

3)在场景创建过程中

代码语言:javascript
复制
sceneDesc.gravity = PxVec3(0.0f, -9.81f, 0.0f);

,我应该提供什么值来获得真正的重力,我们在地球上拥有的重力?

4)我可以将质量分配给参与者,但是我不知道质量在哪个度量单位中。例如,如果我设置了一个aSphereActor >setMass(1);aSphereActor将是1 1kg,g还是其他值?

非常感谢大家。我很感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2013-02-10 12:26:49

首先,本季度我正在做我的第一个Physx项目。(读起来,这可能是我编造的)

1)

你不检查aTrActor的创作,但我不认为这是你的问题。

检查绘图/更新回调中是否存在aTrActor。

2)

*邓诺

3)

-9.81米/秒^2是地球引力的加速度。

我猜想PxVec3就是相对于每个轴的重力。

因此,PxVec3(0.0,-9.81,0.0)是无x或z加速度和-9.81m/s^2y加速度。

4)

#3的答案表明单位是公制的。

“你可以在标准的,但公制的>标准的imo中把所有这些都放在一起。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11353224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档