某些函数在ammon.js中不起作用,尽管BulletPhysics文档显示它们应该起作用
Certain functions do not work in ammo.js, despite BulletPhysics documentation showing they should
要澄清的是,amm.js是使用emscripten 的Bullet Physics的端口
好吧,所以我只是制作了这个快速而肮脏的脚本,用按键移动一个块,这很好,也很有效。然而,当我想旋转块chrome一直告诉我
类型错误:quat1.setEulerZYX不是函数
在drawScene
尽管Bullet文档明确指出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);
}
ammon.js不公开所有子弹实体的全部API:
并不是所有的类都是公开的,因为只有ammon.idl中描述的类是封装的。
--从自述
有关可用方法的列表,请参阅ammon.idl。
您可以更新ammo.idl
并为所需的方法添加定义,然后使用自定义生成或尝试将您的更改添加到upstreem中,有关一些说明,请参阅本期。
我没有足够的耐心自己构建这个东西(主要是因为Debian存储库中默认的emscripten包存在问题(,但如果emscripten能够工作,那么在btQuaternion
定义中包含setEulerZYX()
的声明应该足够容易,更新后可能会是这样(但我没有尝试,所以它可能工作,也可能不工作(:
interface btQuaternion {
void btQuaternion(float x, float y, float z, float w);
void setValue(float x, float y, float z, float w);
void setEulerZYX(float yaw, float pitch, float roll);
};
btQuaternion implements btQuadWord;
相关文章:
- Javascript/Css导航未显示在jquery文档上,仅在ie中准备就绪
- 显示“<script src='some.js'></脚本>"在Html文档中
- 服务器上的 Meteor.publish 不会在客户端上显示新文档
- 我该如何在旅途中添加一些段落,并将结果显示在带有段落标记的文档中
- 文档的第一行.写的格式不正确,有时无法显示
- 我想在灯箱中显示pdf文档
- 如何在对话框中显示文档集欢迎页面
- Nodejs MongoDB 本机驱动程序不显示文档
- 有效地突出显示文档中的文本 (JavaScript)
- 无法使用 DerbyJS 在视图中显示文档列表
- 如何显示文档中所有元标记的名称属性
- 拒绝显示文档,因为X-Frame-Options禁止显示
- 检测方式“;拒绝显示文档,因为X-Frame-Options禁止显示"错误
- 如何突出显示文档中输入到搜索框中的单词?
- 打印预览上不需要的滚动条,不显示文档的第二页
- 在网页中高亮显示文档中的单词
- Javascript循环显示文档中的隐藏元素(Jquery也可以)
- 如何为ReSharper注释以便智能感知显示文档
- 在iframe中嵌入instagram/youtube页面“;拒绝显示文档,因为X-Frame-Options禁止显示&
- 如何根据所选的下拉选项显示文档