Three.js R105-intersectObjects不是函数,碰撞处理程序

时间:2019-07-29 19:28:38

标签: three.js collision-detection web-worker

我正在寻找在单独的网络工作者中执行冲突检测的方法。我假设.intersectObject是raycaster的函数。但是,看来不是吗?

在这种情况下如何检查相交的物体?

// Helicopter Collision Detection Web Worker

self.addEventListener("message", function(e){

    const data = JSON.parse(e.data);

    if (data.rayCasters !== undefined) {
        for (let i = 0; i < data.collidableMeshList.length; i++) {
            for (let n = 0; n < data.rayCasters.length; n++) {
                console.log(data.rayCasters[n]);
                // data.collidableMeshList[i].updateMatrixWorld()
                const collisionResults = data.rayCasters[n].ray.intersectObjects( data.collidableMeshList[i], true )
                // if ( collisionResults.length > 0 && collisionResults[0].distance < directionVector.length() ) {
                if ( collisionResults.length > 0 ) {
                    console.log("Collision");
                    self.postMessage(true);
                } else {
                    self.postMessage(false);
                }
            }   
        }

    }

}, false);

我收到的错误:

helicopter-worker.js:12 Uncaught TypeError: data.rayCasters[n].ray.intersectObjects is not a function

0 个答案:

没有答案