Metalness gives black color by default with scene.environment set

I have a scene which has a scene.environment with PMREMGenerator. I need a material to look like aluminium. So I’ve set it like this:

node.material.roughness = 0.3;
node.material.metalness = 1;

But the material looks mostly black when light does not affect the material. I’ve tried combining the roughness and metalness to different values but it either looks not reflective enough or too black. Any chance to make this material look gray by default when metalness is high?

Maybe you have not configure Scene.environment correctly. Do you mind sharing the related code.

BTW: In latest versions, you don’t have to use PMREMGenerator anymore. You can directly assign a loaded environment map to Scene.environment like in webgl_loader_gltf.

This is where I set it up:


    const environment = new RoomEnvironment();
    const pmremGenerator = new THREE.PMREMGenerator( this.renderer );
    scene3D.environment = pmremGenerator.fromScene( environment ).texture;

I have also noticed that lights do not reflect on the material. I do not know if that has something to do with it.

Edit: Nevermind, lights do work, I just had to set them up to a higher intensity. But the material is still showing black when no light is shown in the environment map.