Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 简单碰撞检测3.js_Javascript_Three.js - Fatal编程技术网

Javascript 简单碰撞检测3.js

Javascript 简单碰撞检测3.js,javascript,three.js,Javascript,Three.js,是否有一种方法可以实现简单的碰撞检测,最好使用光线投射 这是我比赛的照片。滑块向下移动,桨叶必须避开它 我的所有对象都是使用以下代码创建的: paddle = new THREE.Mesh( new THREE.CubeGeometry( paddleWidth, paddleHeight, paddleDepth, paddleQuality,

是否有一种方法可以实现简单的碰撞检测,最好使用光线投射

这是我比赛的照片。滑块向下移动,桨叶必须避开它

我的所有对象都是使用以下代码创建的:

paddle = new THREE.Mesh(

        new THREE.CubeGeometry(
                paddleWidth,
                paddleHeight,
                paddleDepth,
                paddleQuality,
                paddleQuality,
                paddleQuality),                                

                paddleMaterial);
我以前试过使用光线投射解决方案,但似乎从未奏效


嘿,好的,就几句话。您应该开始使用浏览器控制台检查错误消息,如果您有一些错误消息。如果您正在使用firefox或chrome,请按CTRL+Shift+J,然后单击console。立方几何已更改为BoxGeometry。我还把你的控制装置调了一点。J和K现在来回滑动物体。下面是指向新的代码笔的链接,该代码笔具有有效的碰撞检测功能

函数冲突(){
var originPoint=patle.position.clone();
对于(var vertexIndex=0;vertexIndex0){
命中=真;
}
} 
}   

如果您有任何问题,请告诉我。

如果您设置了JSFIDLE,我将看看是否可以实现光线投射。I“我不确定你是否遇到过这个问题,但这里有一个很好的例子,说明你在寻找什么。是的,我试过用这种方法,但它似乎从来都不起作用,我也不知道问题出在哪里。我还没有使用过JSFIDLE,但我认为JSFIDLE可以让您将代码放入一个实例中,以便与其他人共享。您也可以使用代码笔。它们都很好用。如果你把它安装好,我会看看能不能让它工作。非常感谢:)我明天看看能不能安装好。我真的需要帮助解决这个碰撞问题哇,非常感谢。你省去了很多头痛:)
function collision() {
    var originPoint = paddle.position.clone();
    for (var vertexIndex = 0; vertexIndex < paddle.geometry.vertices.length; vertexIndex++) {   
        var ray = new THREE.Raycaster( paddle.position, paddle.geometry.vertices[vertexIndex] );
        var collisionResults = ray.intersectObjects( collidableMeshList );
        if ( collisionResults.length > 0)  {
           hit = true;
        }
    } 
}