Tengo un archivo gltf. Cuando lo importo dentro del editor Three.js ( https://threejs.org/editor/ ) obtengo un resultado correcto cuando agrego un mapa de entorno.
Por otro lado, cuando importo mi gltf en la escena de mi proyecto, obtengo un resultado diferente . Incluso cuando uso la misma imagen HDRI. La metalicidad es demasiado brillante en este caso.
¿Alguien sabe lo que me estoy perdiendo? Gracias.
renderer.toneMapping = THREE.ACESFilmicToneMapping; renderer.toneMappingExposure = 1; renderer.outputEncoding = THREE.sRGBEncoding; new RGBELoader() .load( 'royal_esplanade_1k.hdr', function ( texture ) { texture.mapping = THREE.EquirectangularReflectionMapping; scene.environment = texture; } ); loader.load( './gltf/canette.glb', // called when the resource is loaded function ( gltf ) { obj = gltf.scene; mixer = new THREE.AnimationMixer( gltf.scene ); action = mixer.clipAction( gltf.animations[ 0 ] ); //obj scene.add( obj ); } );EDITAR :
Aquí hay una demostración en vivo. Aquí está el modelo gltf.
Desafortunadamente, está utilizando un fragmento de código que no coincide con su versión real three.js . Tienes que usar al menos r131 (o mejor el último r141 ). En este momento, está utilizando r129 .
Si usa versiones three.js anteriores a r131 , debe usar PMREMGenerator para preparar el mapa de entorno que aplica a los materiales PBR. A partir de r131 , el motor hace esto por usted, por lo que no tiene que preocuparse en absoluto por PMREMGenerator .