Calculate camera fov so that the camera view fits the object dimensions and canvas size

Hi All

Is there a way to calculate the camera’s fov so that the camera view fits to object dimension and canvas size ?

I found a way to make the fov camera adjust to the size of the object in this forum:

But I want the fov camera to be able to adjust to the canvas size too. because my project requires that it can run on all devices

This is the PG: https://playground.babylonjs.com/#Y82BS8#3

Hey there, one way to do this is to use an ArcRotateCamera, which has framing behavior available. :slightly_smiling_face: :
https://playground.babylonjs.com/#5T0H6Q#2

Edit: IDK if you want it re-adjust on resizing or just once at the start, but if you want it on resizing it looks like @roland’s got you covered. :slight_smile: :beers:

Hi! I’ve created this small PG, but @Blake was faster. :stuck_out_tongue:

https://playground.babylonjs.com/#Y82BS8#5

but i need the fov value and i use free camera, for some reason i can’t use ArcRotateCamera camera

My PG shows how to use the world extends. Or you can use the boundigInfo of the mesh. Look at the API. You basically get the max and min values out of it. You can calculate the fov from these values accordingly.

could you give me some sample please ?

You can change the size of the sphere and the size variable will change accordingly. You can use whatever mesh you want.
https://playground.babylonjs.com/#4F33I3#397

Check the docs:

Do you need more detailed help?

thank @roland, i will try to implement it

Hi @Muhamad_Rifky just checking in, did you get the fov working like you wanted?