threejs - 光线投射在选择面部时报告错误的faceIndex

时间:2018-03-01 08:30:26

标签: three.js

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文件中的面部的正确方法吗?

谢谢, 阿夫纳

0 个答案:

没有答案