Прочтите должность Актер в PhysX
У меня вопрос по PhysX SDK 2.8.1
Я актер
NxActorDesc actorDesc;
NxBodyDesc bodyDesc;
NxSphereShapeDesc sphereDesc;
sphereDesc.radius = 1.5f;
actorDesc.shapes.pushBack(&sphereDesc);
actorDesc.body = &bodyDesc;
actorDesc.density = 10;
actorDesc.globalPose.t = NxVec3(0.0f, 25.0f, 0.0f);
NxActor *dynamicActor = gsc->createActor(actorDesc);
Я хочу, чтобы консоль распечатала текущую позицию актера. Как это сделать? Это ниже не работает:
for (int i = 0; i <= 10; i++) {
//Step PhysX simulation
if (gsc)
StepPhysX();
NxMat34 pose = dynamicActor->getGlobalPose();
cout <<pose.t << endl;
}
Конкретно от моего чтения зависит позиция Y.
1 ответ
std::cout не может взять NxVec3 (которым является ваш post.t).
Если вы хотите распечатать глобальную позицию вашего dynamicActor,
вам нужно распечатать компоненты X, Y, Z вашей переменной NxVec3 отдельно.
NxVec3 trans = dynamicActor->getGlobalPose().t; // or you could use "dynamicActor->getGlobalPosition()"
std::cout << trans.x << ", " << trans.y << ", " << trans.z << std::endl;