Для уточнения - ammo.js является портом Bullet Physics с помощью emscriptenНекоторые функции не работают в ammo.js, несмотря на BulletPhysics документации показывая, что они должны
Хорошо, так что я только что сделал это быстрый и грязный сценарий для перемещения блок с нажатиями клавиш, это нормально и работает. Однако, когда я хочу, чтобы повернуть блок хром продолжает говорить мне, что
TypeError: quat1.setEulerZYX is not a function
at drawScene
даже несмотря на то, Bullet Documentation четко говорится, что setEulerZYX функция
try {
var px = parseFloat(tempCamz); // Turns strings into integers
var py = parseFloat((tempCamy * -1));
var pz = parseFloat(tempCamx);
var quat1 = new Ammo.btQuaternion();
quat1.setEulerZYX(0.5,0,0);
var blockShape = new Ammo.btBoxShape(new Ammo.btVector3(1/4, 1, 1/2));
var mass = 1;
var blockTransform = new Ammo.btTransform();
blockTransform.setIdentity();
blockTransform.setRotation(quat1);
blockTransform.setOrigin(new Ammo.btVector3(px, py, pz));
var localInertia = new Ammo.btVector3(0, 0, 0);
var myMotionState = new Ammo.btDefaultMotionState(blockTransform);
blockShape.calculateLocalInertia(mass,localInertia);
var rbInfo = new Ammo.btRigidBodyConstructionInfo(mass, myMotionState, blockShape, localInertia);
var body = new Ammo.btRigidBody(rbInfo);
body.setLinearVelocity(origvel);
instances[i].physObj = body;
dynamicsWorld.addRigidBody(instances[i].physObj);
} catch(err) {
console.log(err);
}