Problems with model rotation when rendering on different scenes

I have an application that works in several modes. For each mode I need to use different environment maps, which forces me to use different Scenes as well. However, it is important that I use the same renderer, because I need to draw on the same canvas. When I switch from the first mode to the second it works well. But when I switch back model.rotation.set(x,y,z) stops having any effects and the model stops rotating as I need. I know that the question is a bit generic, but maybe you can suggest what I should pay attention at to resolve the issue? What could it be?

Update: Even updating Matrix doesn’t help:

        const rotationMatrix = new THREE.Matrix4().makeRotationFromEuler(
          new Euler(
            initialObjectRotation.x + preset.rotation!.x,
            initialObjectRotation.y + preset.rotation!.y,
            initialObjectRotation.z + preset.rotation!.z

Camera moves, Orbit controls continues to work, but the model refuses to rotate.

  1. You are free to change scene.environment in runtime, there’s no need to use separate scenes in this case.

  2. Check devtools console and log the object you’re trying to rotate. See if the values in the quaternion are changing, whether the parent object is the correct scene etc.

Thanks @mjurczyk!

  1. It seems you are right about the scene. I misread the following statement:

Sets the environment map for all physical materials in the scene. However, it’s not possible to overwrite an existing texture assigned to MeshStandardMaterial.envMap. Default is null .

  1. I will definitely check it.

You were right, the parent was different. I have changed everything to work with one scene and it works as expected.