2012-02-23 3 views
2

소프트 바디의 움직임을 x 축에 고정하려고합니다. 나는 왼쪽과 오른쪽으로 움직일 수 있지만 z 축에서 같은 위치에 고정시키고 싶다.Bullet Physics에서 소프트 바디의 위치를 ​​설정하는 방법

x 축을 따라 속도를 적용하는 경우에도 공기 저항과 부드러운 몸체 움직임으로 인해 몸체가 z 축에서 뒤로 움직일 수 있습니다.

이 문제를 해결하기 위해 틱 콜백을 사용하여 소프트 바디의 z 위치가 항상 0인지 확인합니다.

이 방법이 가장 좋은 방법인가요? 그렇다면 위치를 설정하는 방법입니다.

.transform() 및 .translate()를 시도했지만 제대로 작동하지 못했습니다.

감사합니다.

답변

4

코드 setLinearFactor()을 사용해보세요. 다음과 같이 작동합니다.

body->setLinearFactor(btVector3(0.0, 1.0, 1.0)); 

이 코드는 x 축의 움직임을 차단합니다. 몸체 구조는 강체 또는 소프트 바디 일 수 있으며 btVector3 매개 변수는 이동에 대해서는 1이고 모든 유형의 이동을 차단하려면 0입니다. 귀하의 경우 그것은 내가 전에 한 것처럼 보일 것입니다