2014-10-26 1 views
0

Чтобы уточнить - ammo.js - это порт физики пули с использованием mscriptenBulletPhysics (ammo.js) - Как вы могли бы применить силу к объекту?

У меня есть символ (по существу, блок), который необходимо нажать с силой. Я пробовал (я думаю) все методы для сил, но я все еще не могу переместить блок.

setVelocity(1,0,0) даже не перемещает блок - он просто останавливает гравитацию от воздействия на нее! applyImpulse([0,0,200000],[0,0,0]) ничего не делает.
applyForce([0,0,200000],[0,0,0]) ничего не делает.

+0

Для дальнейшего использования, объедините встроенный код с '(вещь рядом с номером 1). – Jakar

ответ

1

В связи с тем, что ammo.js является emscripten порт, вы должны использовать свои собственные типы данных, чтобы поговорить с ним ...

Таким образом, для настройки скорости вы должны body.setLinearVelocity (новый Ammo .btVector3 (1,0,0));

То же самое касается примененияForce и applyImpulse.

В моем коде, я обычно делаю набор временных btVector3s, и использовать их по всему файлу, в целях сокращения накладных расходов, распределения и сбора мусора ..

var tbv30 = new Ammo.btVector3(); 

function doSomeStuff(body){ 
    tbv30.setValue(10,0,0); 
    body.setLinearVelocity(tbv30); 
} 

удачи: D