【发布时间】:2012-10-01 22:49:01
【问题描述】:
我在 github 上找到了参考代码以及关于 stackoverflow 上的对象旋转的其他问题。
var vector = new THREE.Vector3( 1, 0, 0 );
var axis = new THREE.Vector3( 1, 0, 0 ).normalize();
var angle = Math.PI / 2;
function rotateAroundWorldAxis(object, axis, angle) {
var matrix = new THREE.Matrix4().makeRotationAxis( axis, angle );
matrix.multiplyVector3( vector );
object.matrix = matrix;
object.rotation.setEulerFromRotationMatrix(object.matrix);
}
function render() {
rotateAroundWorldAxis(tubeMesh, axis, angle);
renderer.render( scene, camera );
}
我无法弄清楚错误“Uncaught TypeError: Cannot read property 'x' of undefined”的原因可能是什么。 在谷歌浏览器中显示为
- 未捕获的类型错误:无法在三分钟 js:56 处读取未定义的属性“x”
- THREE.Matrix4.makeRotationAxis at three.min.js:56
- rotateAroundWorldAxis at my_model.htm:290
- 在 my_model.htm:297 处渲染
- 动画
错误在three.min.js 的第 1 行。 56.
我正在使用 r51 of three.js 库。
【问题讨论】:
-
嗨。不确定你现在是否已经解决了,但你可能想尝试使用 ThreeJS 的未压缩版本(即 three.js 而不是 three.min.js )。然后你可以准确地看到错误发生在哪里,以及它试图做什么。我自己最近也遇到了同样的错误,但我认为这与从 Blender 导出的模型中的顶点组分配给不再存在的骨骼有关。我删除并重新创建了我的顶点组,它解决了问题。
标签: three.js