cannon js - 对象没有方法'规范'

时间:2014-04-07 21:29:33

标签: javascript opengl-es

我正在使用带有collada模型的threejs和cannonjs

我收到这个错误,但每帧收集物理(即控制台计算每帧的每次物理移动)。

Uncaught TypeError: Object [object Object] has no method 'norm' 

堆栈跟踪(js debug):


CANNON.Box.computeBoundingSphereRadius cannon.js:2037
CANNON.Broadphase.doBoundingSphereBroadphase cannon.js:3568
CANNON.Broadphase.intersectionTest cannon.js:3526
CANNON.NaiveBroadphase.collisionPairs cannon.js:3784
CANNON.World.step cannon.js:4816
updatePhysics cannon.demo.js:598
animate

代码:


shape1和2是使用带有cannon.js的三个js的复杂collada(.dae)模型

http://threejs.org/examples/webgl_loader_collada.html

var shape1 = new CANNON.Box(new CANNON.Shape(shape1));

var shape2 = new CANNON.Box(new CANNON.Shape(shape2));

版本说明:


•cannonjs Version 0.6.0

•threejs REVISION 66

•Collada Loader:https://github.com/rmx/threejs-collada/blob/master/js/ColladaLoader.js

1 个答案:

答案 0 :(得分:0)

CANNON.Box采用半范围的向量作为构造函数参数。例如:

var shape1 = new CANNON.Box(new CANNON.Vec3(1,1,1));

var shape2 = new CANNON.Box(new CANNON.Vec3(1,1,1));

当然,您需要更换" 1,1,1"适合您的盒子尺寸。