jackson 环境光显示差异

omjgkv6w  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(123)

我试着用three.jsAmbientLight给模型照明,我在测试环境和生产环境下用了同样的光源,却发现显色性不一样,我整理的整个过程都找不到区别。

let ambColor = new THREE.Color('rgb(255, 255, 255)');
    this.ambientLight = new THREE.AmbientLight(ambColor)
    this.scene.add(this.ambientLight)

测试环境:

生产环境:

测试环境明显更亮,我也试着关闭AmbientLight,以确保灯确实工作。

example file

jv4diomz

jv4diomz1#

检查调用渲染器的位置,您可能正在使用以下其中一种:

//Physically Correct Lights 
renderer.physicallyCorrectLights = true

//In your update function, maybe removed the env map from the scene, but forgot about removing it from your update function too.
if(child instanceof THREE.Mesh && child.material instanceof THREE.MeshStandardMaterial){
   child.material.envMap = environmentMap
}

//Output encoding (by default is LinearEncoding)
renderer.outputEncoding = THREE.LinearEncoding

//Tone mapping (by default is NoToneMapping)
renderer.toneMapping = THREE.NoToneMapping

如果不是,试着删除两个环境中的所有内容,除了模型和灯光。检查three.js版本是否相同。
PD:尝试使用更多的光源和阴影,你会得到更好的效果。
环境光:

环境光+点光源:

这是Bruno Simon课程上提供的免费内容

相关问题