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 网格检测只有在打开开发人员工具后才能工作_Javascript_Three.js_Collision Detection_Mesh_Developer Tools - Fatal编程技术网

Javascript 网格检测只有在打开开发人员工具后才能工作

Javascript 网格检测只有在打开开发人员工具后才能工作,javascript,three.js,collision-detection,mesh,developer-tools,Javascript,Three.js,Collision Detection,Mesh,Developer Tools,我加载一些obj。和.mtl文件,我在场景中创建并添加一些对象。我把它们放在一个数组中,这样我就可以检测它们何时被成功点击。((相交对象(objs,真)) 尽管如此,当我创建简单的圆形网格并将其放入阵列中以便检测它们时,检测并不能完全起作用。非常困难的intersectObjects()检测我对圆形的点击(平均需要4-5次点击) 奇怪的是,当我按下F12键并打开开发工具(然后关闭或不关闭它,这无关紧要)时,一切都正常工作,圆很容易被检测到。非常奇怪。我认为intersectObjects()有问

我加载一些obj。和.mtl文件,我在场景中创建并添加一些对象。我把它们放在一个数组中,这样我就可以检测它们何时被成功点击。((相交对象(objs,真))

尽管如此,当我创建简单的圆形网格并将其放入阵列中以便检测它们时,检测并不能完全起作用。非常困难的intersectObjects()检测我对圆形的点击(平均需要4-5次点击)

奇怪的是,当我按下F12键并打开开发工具(然后关闭或不关闭它,这无关紧要)时,一切都正常工作,圆很容易被检测到。非常奇怪。我认为intersectObjects()有问题。在我看来,它似乎不能很好地处理网格

一段代码(因为项目庞大而复杂):

注意:我想几天前控制台发出了一条“错误”消息,与IntersectObjects函数中Three.js文件的.getDescents函数有关

编辑

另一件奇怪的事情是,在我打开开发工具之前,我单击一个圆圈旁边(圆圈左侧的空白处),它会检测到单击,就好像我单击了圆圈本身一样(空白处右侧的圆圈会随着单击而改变颜色)!(请参见我单击的图片:

在我打开工具后,它不会在圆圈左侧的空白处检测到点击。相反,我点击圆圈,它会检测到点击,就好像我在右圆圈中做了一样*(我点击的圆圈右侧的圆圈,会根据点击的预期改变颜色):

因此,加载到场景中的网格或intersect()的工作方式有问题**

*我修正了,那只是一道数学题。所以现在当我打开D.T.时,效果很好。如果我不打开D.T.的话,问题仍然存在

**

  • 编辑2这是项目的代码。请检查:

**

我知道这个项目很大,你不能分享它,但是你能用基础知识做一个小的/单独的测试吗?我会尝试做一个JSFIDLE。在那之前,我会在上面的帖子中添加一个编辑,因为一个朋友在应用程序中观察到了另一个异常。我认为这是一个重要的线索。找到了解决方案,我改变了相机的外观,因为我悬挂宽度和高度以更好地适应屏幕上的画布和div。无需删除该问题。他可以回答自己的问题。我实际上有一种感觉,这就是发生的事情。