Skip to content
Snippets Groups Projects
Commit 07584de9 authored by Michael Krupa's avatar Michael Krupa
Browse files

Updated to use the sensor size in blender 2.61

parent 370b15a0
No related branches found
No related tags found
No related merge requests found
......@@ -73,13 +73,21 @@ def save_chan(context, filepath, y_up, rot_ord):
# if we have a camera, add the focal length
if obj.type == 'CAMERA':
# I've found via the experiments that this is a blenders
# default sensor size (in mm)
sensor_x = 32.0
# the vertical sensor size we get by multiplying the sensor_x by
# resolution ratio
sensor_y = sensor_x * res_ratio
sensor_x = 0
sensor_y = 0
if hasattr(obj.data, "sensor_width"): # Preserve compatibility
if obj.data.sensor_fit == 'VERTICAL':
sensor_x = obj.data.sensor_width
sensor_y = obj.data.sensor_height
else:
sensor_x = obj.data.sensor_width
sensor_y = sensor_x * res_ratio
else:
sensor_x = 32 # standard blender's sensor size
sensor_y = sensor_x * res_ratio
cam_lens = obj.data.lens
# calculate the vertical field of view
# we know the vertical size of (virtual) sensor, the focal length
# of the camera so all we need to do is to feed this data to
......
......@@ -106,9 +106,19 @@ def read_chan(context, filepath, z_up, rot_ord):
# check if the object is camera and fov data is present
if obj.type == 'CAMERA' and len(data) > 7:
v_fov = float(data[7])
sensor_v = 32.0
sensor_h = sensor_v * res_ratio
lenslen = ((sensor_h / 2.0) / tan(radians(v_fov / 2.0)))
sensor_x = 0
sensor_y = 0
if hasattr(obj.data, "sensor_width"): # Preserve compatibility
if obj.data.sensor_fit == 'VERTICAL':
sensor_x = obj.data.sensor_width
sensor_y = obj.data.sensor_height
else:
sensor_x = obj.data.sensor_width
sensor_y = sensor_x * res_ratio
else:
sensor_x = 32 # standard blender's sensor size
sensor_y = sensor_x * res_ratio
lenslen = ((sensor_y / 2.0) / tan(radians(v_fov / 2.0)))
obj.data.lens = lenslen
obj.data.keyframe_insert("lens")
filehandle.close()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment