three.js - 未捕获的TypeError:无法读取未定义的属性“x”

时间:2012-10-11 09:46:36

标签: three.js

我在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:无法读取未定义的属性'x'。” 在谷歌浏览器中,它显示为

  • 未捕获的TypeError:无法在three.min.js读取未定义的属性'x':56
  • THREE.Matrix4.makeRotationAxis at three.min.js:56
  • rotateAroundWorldAxis at my_model.htm:290
  • 在my_model.htm渲染:297
  • 动画

错误位于第{行号three.min.js。 56。 我正在使用three.js库的r51。

1 个答案:

答案 0 :(得分:0)

如果我们遇到同样的问题(three.js试图读入uv-mapping数组)你可以通过以下方式解决它:

UV-mapping(在搅拌机中)添加到您的模型中 它基本上需要:

  1. 在物体上标记接缝。
  2. 打开模型。
  3. 在启用UV的情况下导出模型。
  4. 对于步骤1和步骤2,您可以按照this进行良好的演练 (注意:除了文章中的步骤,在我的版本(2.59)中,我必须先创建一个材质和纹理。)