react-三纤场景背景比原始图像更亮

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

我的反应三纤维背景应该是黑暗的星空。但在场景中却非常明亮。这是原始图像:

这是天空盒的代码:

const { scene } = useThree();

const texture = useLoader(TextureLoader, "textures/skybox.jpg");

scene.background = texture;

这就是场景渲染的样子:

(不用担心模糊。这只是因为我截图了屏幕的一小部分区域。)

我正在询问亮度,我在 Poimandres Discord 服务器中询问,其中一位管理员说这可能是编码错误,请在此处询问。


编辑:

感谢 Marquizzo 解决了这个问题。我刚刚添加了

texture.encoding = THREE.sRGBEncoding;
,背景就变成了这样:

reactjs three.js react-three-fiber
1个回答
5
投票

这可能是您的纹理颜色空间属性的问题。默认情况下,纹理使用 THREE.NoColorSpace,但对于不与光照交互的直背景 JPG,您可以使用 sRGB。

const texture = useLoader(TextureLoader, "textures/skybox.jpg");
texture.colorSpace = THREE.SRGBColorSpace;
scene.background = texture;
© www.soinside.com 2019 - 2024. All rights reserved.