我的反应三纤维背景应该是黑暗的星空。但在场景中却非常明亮。这是原始图像:
这是天空盒的代码:
const { scene } = useThree();
const texture = useLoader(TextureLoader, "textures/skybox.jpg");
scene.background = texture;
这就是场景渲染的样子:
(不用担心模糊。这只是因为我截图了屏幕的一小部分区域。)
我正在询问亮度,我在 Poimandres Discord 服务器中询问,其中一位管理员说这可能是编码错误,请在此处询问。
感谢 Marquizzo 解决了这个问题。我刚刚添加了
texture.encoding = THREE.sRGBEncoding;
,背景就变成了这样:
这可能是您的纹理颜色空间属性的问题。默认情况下,纹理使用 THREE.NoColorSpace,但对于不与光照交互的直背景 JPG,您可以使用 sRGB。
const texture = useLoader(TextureLoader, "textures/skybox.jpg");
texture.colorSpace = THREE.SRGBColorSpace;
scene.background = texture;