Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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
Three.js 具有多个材质的Threejs对象不';不能使用光线投射_Three.js_3d - Fatal编程技术网

Three.js 具有多个材质的Threejs对象不';不能使用光线投射

Three.js 具有多个材质的Threejs对象不';不能使用光线投射,three.js,3d,Three.js,3d,我使用blender创建了一个3d对象,并将其导出为.obj文件 我正在尝试使用3JS中的OBJloader加载该.obj文件。这是一个包含多个材质的单个对象。它加载时没有任何问题 我试图跟踪用户在3d对象中单击的材质。我正在为此使用光线投射。由于光线投射仅在对象级别工作,我无法获取用户单击的特定材质 从three.js R101开始,您可以计算交叉点.face.materialIndex,然后从材质数组中检索正确的材质。这实际上是以前的three.js修订版中缺少的一项功能。我制作了一个PR来

我使用blender创建了一个3d对象,并将其导出为.obj文件

我正在尝试使用3JS中的OBJloader加载该.obj文件。这是一个包含多个材质的单个对象。它加载时没有任何问题


我试图跟踪用户在3d对象中单击的材质。我正在为此使用光线投射。由于光线投射仅在对象级别工作,我无法获取用户单击的特定材质

three.js R101
开始,您可以计算
交叉点.face.materialIndex
,然后从材质数组中检索正确的材质。这实际上是以前的
three.js
修订版中缺少的一项功能。

我制作了一个PR来简化这项任务:。如果它被合并,您可以计算
intersection.face.materialIndex
,然后从材质数组中检索正确的材质。