MeshMatcapMaterial的颜色看起来很淡?

问题描述 投票:0回答:2

我在 Threejs 中使用 MeshMatcapMaterial 进行渲染

const matCapMaterial = new THREE.MeshMatcapMaterial({
      matcap: matcapTexture
})

这是纹理和结果

颜色应该深一些

我该如何解决这个问题

谢谢!

three.js shader
2个回答
2
投票

可能是色彩空间编码问题。很难用这么少的代码来确定,但也许您想从默认的

THREE.LinearEncoding
更改为 sRGB 色彩空间:

matcapTexture.encoding = THREE.sRGBEncoding;

const matCapMaterial = new THREE.MeshMatcapMaterial({
      matcap: matcapTexture
});

有关纹理编码的更多详细信息,请参阅文档


0
投票

2023 更新:

截至 Three.js 版本的更新答案

0.158.1

   texture.colorSpace = THREE.SRGBColorSpace;

来源:文档

© www.soinside.com 2019 - 2024. All rights reserved.