Browse Source

fix(core): issue with active camera

alvarosabu 2 years ago
parent
commit
db44648358

+ 3 - 2
packages/tres/src/core/useCamera/index.ts

@@ -144,11 +144,11 @@ export function useCamera(): UseCameraReturn {
       state.cameras?.push(camera as OrthographicCamera)
       state.cameras?.push(camera as OrthographicCamera)
     }
     }
     state.camera = camera
     state.camera = camera
+
+    setState('camera', state.camera)
     return camera
     return camera
   }
   }
 
 
-  setState('camera', state.camera)
-
   /**
   /**
    * Update camera aspect ratio and projection matrix
    * Update camera aspect ratio and projection matrix
    *
    *
@@ -171,6 +171,7 @@ export function useCamera(): UseCameraReturn {
       camera.aspect = state.aspectRatio.value
       camera.aspect = state.aspectRatio.value
     }
     }
     camera.updateProjectionMatrix()
     camera.updateProjectionMatrix()
+    setState('camera', camera)
   }
   }
 
 
   /**
   /**

+ 2 - 1
packages/tres/src/core/useScene/component.ts

@@ -19,9 +19,10 @@ export const Scene = defineComponent({
     setState('scene', scene.value)
     setState('scene', scene.value)
 
 
     onLoop(() => {
     onLoop(() => {
+      if (!activeCamera.value) return
       raycaster.value.setFromCamera(pointer.value, activeCamera.value)
       raycaster.value.setFromCamera(pointer.value, activeCamera.value)
 
 
-      if (renderer?.value && activeCamera?.value && scene?.value) {
+      if (renderer?.value && activeCamera && scene?.value) {
         renderer.value.render(scene?.value, activeCamera.value)
         renderer.value.render(scene?.value, activeCamera.value)
       }
       }
     })
     })