Threejs vector.unproject(this.camera)未定义

时间:2014-11-06 20:13:37

标签: javascript three.js raycasting

为什么我得到一个函数是vector.unproject的未定义错误,而它在文档中说明了? http://threejs.org/docs/#Reference/Math/Vector3(最后一项之一)

如果我控制台记录它,它也会返回未定义,而其余的Threejs正在使用A-Okey。它被贬值了吗?什么是替代品?我想要Raycast并在加载的.obj文件上单击检测,这是一种表达方式。

我的代码[我使用RequireJS和Backbone,因此函数的结构方式]:

click: function(event){
        var vector = new THREE.Vector3();

        vector.set(
            ( event.clientX / window.innerWidth ) * 2 - 1,
            - ( event.clientY / window.innerHeight ) * 2 + 1,
            0.5 );

        console.log(vector.unproject); //returns undefined
        vector.unproject( this.camera ); //stops here and returns function is undefined

        var dir = vector.sub( this.camera.position ).normalize();

        var distance = - this.camera.position.z / dir.z;

        var pos = this.camera.position.clone().add( dir.multiplyScalar( distance ) );

    },

1 个答案:

答案 0 :(得分:0)

你必须导入projector.js,它不是three.js的一部分,但你在examples / js / renderer / projector.js中找到了