我正在使用带有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
答案 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"适合您的盒子尺寸。