ThreeJS如何选择对象的交点颜色

时间:2015-10-30 10:02:35

标签: graphics three.js

我正在尝试ThreeJS射线施法者来获得物体的交叉颜色。

有一些关于寻找面部颜色的例子,但我的问题是获得交叉点的纹理颜色但是在着色器代码之外。对象具有应用于其的纹理,并且颜色在对象的面上从像素到像素变化。

请建议一种获得点颜色的方法。

提前致谢

2 个答案:

答案 0 :(得分:0)

我不知道它是否适用于3D画布,但您可以获取画布的图像数据并确定像素颜色。看看这些问题:

getPixel from HTML canvas

How to get a pixel's x,y coordinate color from an image?

How to use JavaScript or jQuery to read a pixel of an image?

使用此方法,您不需要使用raycaster,只需使用click事件的鼠标坐标,假设您想要在单击的位置获取颜色。

当然,如果你的场景中有光线,你会得到的颜色是受光照影响的纹理颜色。

如果有效,请告诉我。

答案 1 :(得分:0)

我使用

解决了当前的问题
  1. raycaster并找到面部颜色
  2. 然后检查颜色范围,例如>Xval && <Yval
  3. 在可能的情况下,我需要检查颜色变化并相应地标记用户。感谢@Brakebein的回应