首页 > 解决方案 > 如何在threejs中执行表面选择

问题描述

对于我的项目,我必须选择一个区域(一组三角形)并且在鼠标悬停事件中,我必须更改颜色。作为输入,我有一个区域列表和一组三角形 ID。我使用索引缓冲几何。我还设置了一个颜色属性以更改面部颜色。 在此处输入图像描述

红色框是我的目标区域,但是当我更改那些顶点的所有颜色时,它会对另一个邻居产生影响。可能是什么原因?

已编辑

我现在正在使用非索引缓冲几何。我不认为顶点着色有点奇怪,如下图所示。 在此处输入图像描述

我可以使用 geometry.groups 来分离一个表面以使其与一种材料相匹配吗?

解决

结果是由于我的错误,因为我不认为颜色数组是每个顶点的 rgb 值。

标签: javascriptthree.jsmouse-picking

解决方案


推荐阅读