【问题标题】:How to have emissionMap without being washed out with some colour?如何在不被某种颜色洗掉的情况下拥有发射地图?
【发布时间】:2021-07-17 15:06:44
【问题描述】:

所以,我正在尝试在 ThreeJS 中模拟笔记本电脑的屏幕,所以它上面有一个我想要发光的视频纹理。不需要是光源,只需要被照亮即可。

我尝试使用纹理的emissionMap 和0xffffff 的emission(白色),但它只是呈现出真正的灰色并褪色。尝试使用红色 (0xff0000) 会显示视频发红光(显然),而 0x000000 只是没有显示任何内容。

我怎样才能让emissionMap 自己发光,而不会被其他颜色真正洗掉?我也试过:

  • 与MeshBasicMaterial、MeshLambertMaterial、MeshPhongMaterial 和MeshToonMaterial 的设置相同。都一样
  • 只设置map和color(即没有emission/emissionMap)。也完全洗掉了

我是不是做错了什么,还是仅仅拥有一个emissionMap 而不必选择一种颜色来完全洗掉它是不可能的?我可以只拥有纹理吗?

【问题讨论】:

    标签: three.js webgl react-three-fiber


    【解决方案1】:

    您是否尝试将 videoTexture 的编码设置为 THREE.sRGBEncoding?

    videoTexture.encoding = THREE.sRGBEncoding;
    

    【讨论】:

      【解决方案2】:

      您可以添加一个 emissiveMap 来控制网格不同部分的发射强度。

      Here it is in the three.js docs

      【讨论】:

        猜你喜欢
        • 2021-12-30
        • 2012-07-11
        • 2019-01-24
        • 2019-07-31
        • 1970-01-01
        • 1970-01-01
        • 2015-01-30
        • 2019-10-31
        • 1970-01-01
        相关资源
        最近更新 更多