【问题标题】:THREE.MeshPhongMaterial.displacementMap mapping negative values三.MeshPhongMaterial.displacementMap 映射负值
【发布时间】:2015-11-06 14:57:55
【问题描述】:

我正在使用 ShaderMaterial 为渲染纹理生成噪波。

然后我将生成的纹理用作平面上的置换贴图,使用 phong 着色材质。

发生的情况是置换贴图将从 [0-displacementScale] 开始。 这意味着我的噪声纹理将按像素解释为:0x000000 像素表示 0 顶点偏移,0xffffff 像素表示displacementScale 值...

我认为displacementBias 可以让我映射范围,但它只是抵消了“平均值”。

我想知道如何从displacementMap 映射范围,因此0x000000 可能意味着例如:-100 而0xffffff 可能意味着100...

【问题讨论】:

    标签: three.js


    【解决方案1】:

    在源文件displacementmap_vertex.glsl中可以找到位移公式:

    transformed += normal * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );
    

    因此,在您的情况下,设置 displacementBias = -100 和 displacementScale = 200。

    three.js r.73

    【讨论】:

      猜你喜欢
      • 2020-10-02
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 1970-01-01
      • 2011-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多