未捕获的TypeError:无法重新定义属性:旋转

时间:2014-05-12 20:07:07

标签: javascript three.js

我刚在另一台笔记本电脑上查看了正在运行的项目。在使用npm和bower安装所有内容时,当我尝试在localhost上运行它时,我收到以下错误:

Uncaught TypeError: Cannot redefine property: rotation 

at(未缩小的three.js r67中的第7542行):

THREE.Object3D = function () {

this.id = THREE.Object3DIdCount ++;
this.uuid = THREE.Math.generateUUID();

this.name = '';

this.parent = undefined;
this.children = [];

this.up = new THREE.Vector3( 0, 1, 0 );

this.position = new THREE.Vector3();

var scope = this;

Object.defineProperties( this, {
    rotation: {
        enumerable: true,
        value: new THREE.Euler().onChange( function () {
            scope.quaternion.setFromEuler( scope.rotation, false );
        } )
    }, [...]

所以在three.js中出现了问题,我不明白为什么,但它显然打破了整个应用程序。有没有人经历过这个?

1 个答案:

答案 0 :(得分:4)

这是故意的。

这些模式不再起作用了:

object.rotation = object2.rotation
object.rotation = new THREE.Euler( 1, 0, 0 );

请改为:

object.rotation.copy( object2.rotation );
object.rotation.set( 1, 0, 0 );

下一个版本将有更好的错误消息。