2011-11-19 3 views
3

회전 값 (롤, 피치, 요)이 있습니다. 그 회전을 몸에 적용하고 싶지만 그 방법을 모릅니다.Bullet Physics Engine에서 몸체에 회전을 적용하는 방법은 무엇입니까?

+0

@felipemaia - 나는 3D 강체 충돌 감지를위한 총알 물리 엔진을 사용하고, 내가 탄도 궤도를 조작하는 것을 시도하고 있지 않다, 필요한 모든 회전 값을 가진 상자를 말하면서 몸체를 회전시키는 것만으로도 충분합니다. –

+2

. 동의했다. Stupidy는 참으로 귀중한 것입니다. – felipemaia

답변

4

가장 직접적인 방법은 모션 상태 또는 직접 설정을 통해 강체의 월드 변환을 직접 설정하는 것입니다. A는 롤, 피치 및 요에서 변환 얻으려면, 당신은 사용할 수 있습니다

btRigidBody * rigidBody = //... 
btTransform tr; 
tr.setIdentity(); 
btQuaternion quat; 
quat.setEuler(yaw,pitch,roll); //or quat.setEulerZYX depending on the ordering you want 
tr.setRotation(quat); 

rigidBody->setCenterOfMassTransform(tr); 
+0

btDefaultSerializer를 사용하여 월드가 .bullet 파일에 저장 될 때이 변환이 저장됩니까? – rraallvv

+0

@rraallvv 강체에 대한 변형이 직렬화 될 것이라는 것을 확실히 기대할 것입니다. 그래서 뭔가 빠져 있지 않는 한 (총알로 작업 한 이후로 가능한 일입니다.) 그렇습니다. – nonVirtualThunk

+0

당신이 맞아요, 감사합니다 – rraallvv

관련 문제