title: ThreeJS apply properties from one camera to another camera
body: <p>In my webapp I'm using ThreeJS scenes in different modals/popups/dialogs with different width/height ratios.</p>
  
  <p>Furthermore, I want to use multiple user defined camera settings (rotation, position, lookAt etc.) among these different scenes.</p>
  
  <p>Therefore, I save the camera object via <code>camera.toJSON()</code> when the user clicks a capture camera settings button.</p>
  
  <p>(Before I did this, I saved just the object <code>camera</code>, but unfortunately these objects are quite big and slow down the performance while multiple camera objects get stored. Nevertheless, this approach worked, since I was able to copy all the desired values between the saved camera object and the currently used camera [e.g. <code>current_camera.position.x=saved_camera.position.x</code> and so on])</p>
  
  <p>In every scene I want now to use the saved properties I tried the following:</p>
  
  <pre><code>let m = new THREE.Matrix4();
  m.fromArray(saved_camera.object.matrix);
  current_camera.applyMatrix(m)
  current_camera.updateMatrix();
  </code></pre>
  
  <p>Unfortunately this doesn't work.</p>
  
  <hr>
  
  <p>"normal" <code>camera</code> object
  <a href="https://i.stack.imgur.com/x4GNH.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/x4GNH.png" alt="enter image description here"></a>
  <code>camera.toJSON()</code> object
  <a href="https://i.stack.imgur.com/arYPu.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/arYPu.png" alt="enter image description here"></a></p>