PhysX 3.3.0을 사용하고 있습니다.PhysX - 컨트롤러의 속도 얻기
내 캐릭터가 캡슐 컨트롤러이고 컨트롤러의 실제 속도를 검색 할 수 있어야합니다. 실제 속도를 검색 할 수 있어야합니다.
씬의 주 시뮬레이션 후에 컨트롤러와 연결된 액터의 속도를 검색하려했지만 컨트롤러가 단지 두포 아래의 운동 학적 액터이기 때문에 가짜 값을 반환합니다. .
이제 내가 생각할 수있는 유일한 대안은 속도를 직접 추적하는 것이지만, 그렇게 간단하지는 않습니다. 속도에 대한 내 자신의 변화를 쉽게 추적 할 수 있습니다 (예 : 속도는 이동 입력을 통해 적용됩니다. 그러나 컨트롤러가 아무 것도 충돌하지 않는 한 그것은 정확합니다. 이동 기능을 통해 컨트롤러를 이동 한 후 컨트롤러의 속도가 바닥이나 벽 등과의 충돌에 의해 변경되었을 수 있습니다. 이동 기능은 충돌 플래그를 반환하지만 측부 어딘가에 충돌이 있었는지 여부 만 알려줍니다 , bottom 또는 top이지만 새로운 속도를 수동으로 유도하기에는 정확하지 않습니다.
이것은 다소 큰 감독처럼 보입니다. 그래서 여기에 뭔가 빠져 있습니다. PhysX가 그렇게하는 기능을 제공하지 않으면 컨트롤러의 속도를 정확하게 추적 할 수 있습니까?
// 편집
나는 현장 시뮬레이션 후 속도를 잡는거야 방법이있다:
void ControllerPhysObj::UpdateVelocity()
{
physx::PxRigidDynamic *actor = m_controller->getActor();
physx::PxVec3 vel = actor->getLinearVelocity();
m_velocity.x = vel.x;
m_velocity.y = vel.y;
m_velocity.z = vel.z;
}
m_controller가 PxCapsuleController이다.
속도를 얻으려고 시도한 코드를 게시하십시오. – LearnCocos2D
표시 할 내용이 많지 않습니다. 'getLinearVelocity'를 사용하고 있지만 어쨌든 코드를 추가했습니다. – Silverlan
반환되는 값은 무엇입니까? 그들이 가짜라는 것을 어떻게 압니까? – LearnCocos2D