【发布时间】:2016-03-05 20:28:01
【问题描述】:
我正在尝试 ThreeJS 光线投射器来获取对象的交点颜色。
有一些关于查找面颜色的示例,但我的问题是获取交点的纹理颜色,但在着色器代码之外。对象应用了纹理,并且对象表面上的颜色因像素而异。
请提出一种获取点颜色的方法。
提前致谢
【问题讨论】:
我正在尝试 ThreeJS 光线投射器来获取对象的交点颜色。
有一些关于查找面颜色的示例,但我的问题是获取交点的纹理颜色,但在着色器代码之外。对象应用了纹理,并且对象表面上的颜色因像素而异。
请提出一种获取点颜色的方法。
提前致谢
【问题讨论】:
我不知道它是否适用于 3D-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,只需要点击事件的鼠标坐标,假设你想获取点击点的颜色。
当然,如果你的场景中有光照,你得到的颜色就是受光照影响的纹理颜色。
如果可行,请告诉我。
【讨论】:
我通过使用解决了我当前的问题
>Xval && <Yval这样的颜色范围
在可能的情况下,我只需要检查颜色变化并相应地标记用户。感谢@Brakebein 的回复
【讨论】: