I’ve a specific scene being utilized in Babylon.js with a FreeCamera positioned at a particular location. I aim to extract the coordinates (x, y, z) from Babylon.js and integrate them into Blender. This way, I can replicate the existing view from Babylon.js within my Blender environment.
cc @PirateJC
In blender, you can use bpy.context.scene.camera to get the current camera.
Then use camera.localtion[0] = x or camera.location = [x,y,z]
to modify the camera position.
In the simple case I think the babylon.js vector to blender conversion can be done by swapping the y and z axes.
Here is a simple example. After execution the camera should move above the origin.
import bpy
def vec_from_bjs(bjs_vec: list[float]):
result = [0., 0., 0.]
result[0] = bjs_vec[0]
result[1] = bjs_vec[2]
result[2] = bjs_vec[1]
return result
camera = bpy.context.scene.camera
camera.location = vec_from_bjs([0, 5, 0])
2 Likes
What should be done for the camera rotation?
If you’re using Euler angles you should still be able to swap the two axes the same way, but I’m not sure if the rotation order will have any effect.
Or you could consider using camera direction instead of rotation.