Tengo una escena general en la que me gustaría mostrar diferentes tipos de modelos. Dependiendo de la fuente del modelo, a veces el modelo contiene MeshPhongMaterial , a veces MeshStandardMaterial y, a veces, ambos.
También tengo un modelo de iluminación específico con AmbientLight , y DirectionalLight que apunta siempre en la misma dirección que la cámara, así verás claramente lo que estás mirando en este momento.
Para hacer que MeshStandardMaterial vea mejor, también agregué un mapa de entorno a la escena (no los materiales), y quedé bastante satisfecho con el resultado.
Aquí está el resultado con r130 (material Phong a la izquierda, material estándar a la derecha): 
Después de actualizar three.js a r131, el resultado se ve así:
Entiendo que los mapas de entorno se convierten automáticamente a PMREM desde r131 y esto provoca el cambio. También entiendo que esto es más correcto que usar mapas de entorno que no sean PMREM, pero ahora estropea mi escena.
En algún otro tema, se recomendó eliminar la luz ambiental y direccional (porque la iluminación ahora proviene del entorno), pero da como resultado esto:
Ahora el objeto con material estándar se ve bien, pero el objeto con material phong es completamente negro. También perdí mi característica anterior de que la luz direccional siempre apunta hacia donde mira la cámara.
Al eliminar la luz ambiental solo obtengo esto (todavía no es lo que quiero lograr):
Entonces, básicamente, mi pregunta es: aunque sé que esto no es físicamente correcto, ¿hay alguna forma de aplicar un mapa de entorno que no afecte la iluminación de la escena, pero que afecte los reflejos de los materiales estándar?
Aquí puede encontrar el código de la escena mencionada: https://github.com/kovacsv/Online3DViewer/blob/dev/sandbox/three_envmap_issue/three_viewer.html
Y aquí puedes verlo en vivo: https://raw.githack.com/kovacsv/Online3DViewer/dev/sandbox/three_envmap_issue/envmap_issue.html
Básicamente, mi pregunta es: aunque sé que esto no es físicamente correcto, ¿hay alguna forma de aplicar un mapa de entorno que no afecte la iluminación de la escena, pero sí los reflejos de los materiales estándar?
No, no lo hay. MeshStandardMaterial y MeshPhysicalMaterial requieren ahora un flujo de trabajo PBR más estricto. Como señaló correctamente, su configuración anterior era físicamente incorrecta. Esto se solucionó y no hay planes en este momento para permitir nuevamente los flujos de trabajo anteriores. Se considera que los mapas ambientales se utilizan como IBL. Entonces, conceptualmente, siempre afectan la iluminación sin importar cómo parametrice el material.
La solución para su caso de uso es a) usar materiales phong ob) actualizar la iluminación de su escena y aceptar el nuevo estilo.