threejs - 光线投射在选择面部时报告错误的faceIndex
我想用鼠标点击网格中的一个面。 使用ObjLoader和MtlLoader(附加)加载网格 当悬停在网格上时,会正确检测到交集,但报告的faceIndex与.obj文件中的面部索引不匹配 (以及报告面部的顶点)
例如,
面0(f 3/1 1/1 10/1) - 有顶点3,1,10 当在目标文件中悬停在它上面时,console.log(intersects [0]);报告:" faceIndex:0"和"面对:雅{a:0,b:1,c:2,...}"
面1(f 3/1 10/1 7/1) - 有顶点3,10,7 当在目标文件中悬停在它上面时,console.log(intersects [0]);报告:" faceIndex:3"和"面对:雅{a:3,b:4,c:5,...}"
面3(f 2/2 4/3 8/4) - 顶点2,4,8 当在目标文件中悬停在它上面时,console.log(intersects [0]);报告:" faceIndex:9"和"面对:雅{a:9,b:10,c:11,...}"
附加here是一个基于webgl_interactive_cubes.html和.obj文件的小型自包含示例。
看起来faceIndex是.obj文件中的面部索引(位置)乘以3。 任何人都可以说出这是什么理由,这是将报告的faceIndex映射到.obj文件中的面部的正确方法吗?
谢谢, 阿夫纳