defini o eixo x como eixo ascendente na minha cena three.js. Agora todos os mapas ambientais (hdr) estão orientados incorretamente. Como posso consertar? Tentei girar o arquivo HDR, mas não funcionou.
this.pmremGenerator = new THREE.PMREMGenerator(renderer as any);
new RGBELoader().setDataType(THREE.UnsignedByteType).setPath('assets/').load('adams_place_bridge_1k.hdr', (texture) => {
texture.mapping = THREE.EquirectangularReflectionMapping;
var envMap = this.pmremGenerator.fromEquirectangular(texture).texture;
scene.background = envMap;
scene.environment = envMap;
texture.dispose();
});
Existe uma solução alternativa com cubemaps?
Já que
r162
é possível girar o fundo e o ambiente da cena. Para fazer isso, você pode configurar Scene.backgroundRotation e Scene.environmentRotation . Ambos são do tipo Euler e representam a rotação em radianos.O exemplo oficial a seguir demonstra esse recurso:
https://trêsjs.org/examples/webgl_materials_envmaps
Nota lateral: O uso
PMREMGenerator
no nível do aplicativo não é mais necessário nas versões mais recentes. Os mapas de ambiente são pré-processados internamentePMREMGenerator
se forem usados com materiais PBR ou se você configurar um fundo desfocado por meio de Scene.backgroundBlurriness .