【问题标题】:ThreeJS How to pick the intersection point color of an objectThreeJS如何选择对象的交点颜色
【发布时间】:2016-03-05 20:28:01
【问题描述】:

我正在尝试 ThreeJS 光线投射器来获取对象的交点颜色。

有一些关于查找面颜色的示例,但我的问题是获取交点的纹理颜色,但在着色器代码之外。对象应用了纹理,并且对象表面上的颜色因像素而异。

请提出一种获取点颜色的方法。

提前致谢

【问题讨论】:

    标签: graphics three.js


    【解决方案1】:

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

    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,只需要点击事件的鼠标坐标,假设你想获取点击点的颜色。

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

    如果可行,请告诉我。

    【讨论】:

      【解决方案2】:

      我通过使用解决了我当前的问题

      1. raycaster 并找到面部颜色
      2. 然后检查像>Xval && <Yval这样的颜色范围

      在可能的情况下,我只需要检查颜色变化并相应地标记用户。感谢@Brakebein 的回复

      【讨论】:

        猜你喜欢
        • 2023-03-26
        • 2015-04-24
        • 2013-12-08
        • 2012-10-17
        • 2023-02-26
        • 1970-01-01
        • 1970-01-01
        • 2020-06-19
        • 2015-06-19
        相关资源
        最近更新 更多