2012-01-06 2 views
0

У меня есть глупая и раздражающая проблема в моем приложении. Я использую физику пули, и я начал с привет мир, например, на вики: http://bulletphysics.org/mediawiki-1.5.8/index.php/Hello_WorldИзменение положения тела столкновения в Bullet Physics Hello World project

Существует коснуться, как это:

btDefaultMotionState* fallMotionState = 
      new btDefaultMotionState(btTransform(btQuaternion(0,0,0,1),btVector3(0,50,0))); 

Что описывается как набор объектов 50 метров над чем-то. Поэтому я могу изменить высоту, но не более того. Я не могу переместить его влево, правильно - что угодно. Кроме того, когда я устанавливаю 0 всюду (я имею в виду в btVector3), объект прыгает вверх, а не падает или лучше остается неподвижным.

Может ли кто-нибудь помочь мне в этом?

Также есть ли какие-либо материалы, кроме тех, что указаны на странице bullets, где есть некоторые учебники или что-то еще?

+0

Не так уж много учебников для Bullet, к сожалению. Во-вторых, размещение объекта в (0,0,0) помещает его внутри * на землю, поэтому его поведение будет странным, помните, что вы не ставите точку. Попробуйте поместить его (0,1,0), чтобы начать? –

+0

@SamDeHaan Я могу установить высоту. Но я не могу установить ось x или z. Кстати, теперь он работает с высотой - он не двигается. – sebap123

+0

Что вы изменили из базового примера? Сам пример выводит значение высоты (y) в его цикле, поэтому вы, по крайней мере, изменили это. Тот факт, что вы используете тег opengl, подразумевает, что вы тоже пытаетесь визуализировать? –

ответ

0

Я выяснил, что можно изменить положение. Я этого не видел.

И причина, по которой он прыгает на 0, потому что он «внутри» другого объекта, а затем весь двигатель начинает действовать сумасшедшим. Поэтому не ставьте один объект в другой.