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

Updated to use bpy.types.Camera.angle_y property.

parent 21eaa36c
No related branches found
No related tags found
No related merge requests found
...@@ -23,7 +23,7 @@ It takes the currently active object and writes it's transformation data ...@@ -23,7 +23,7 @@ It takes the currently active object and writes it's transformation data
into a text file with .chan extension.""" into a text file with .chan extension."""
from mathutils import Matrix from mathutils import Matrix
from math import radians, degrees, atan2 from math import radians, degrees
def save_chan(context, filepath, y_up, rot_ord): def save_chan(context, filepath, y_up, rot_ord):
...@@ -73,14 +73,7 @@ def save_chan(context, filepath, y_up, rot_ord): ...@@ -73,14 +73,7 @@ def save_chan(context, filepath, y_up, rot_ord):
if camera: if camera:
sensor_x = camera.sensor_width sensor_x = camera.sensor_width
sensor_y = camera.sensor_height sensor_y = camera.sensor_height
cam_lens = camera.lens vfov = degrees(camera.angle_y)
# 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
# atan2 function whitch returns the degree (in radians) of
# an angle formed by a triangle with two legs of a given lengths
vfov = degrees(atan2(sensor_y / 2, cam_lens)) * 2.0
fw("%f" % vfov) fw("%f" % vfov)
fw("\n") fw("\n")
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
""" This script is an importer for the nuke's .chan files""" """ This script is an importer for the nuke's .chan files"""
from mathutils import Vector, Matrix, Euler from mathutils import Vector, Matrix, Euler
from math import radians, tan from math import radians
def read_chan(context, filepath, z_up, rot_ord, sensor_width, sensor_height): def read_chan(context, filepath, z_up, rot_ord, sensor_width, sensor_height):
...@@ -103,11 +103,10 @@ def read_chan(context, filepath, z_up, rot_ord, sensor_width, sensor_height): ...@@ -103,11 +103,10 @@ def read_chan(context, filepath, z_up, rot_ord, sensor_width, sensor_height):
# check if the object is camera and fov data is present # check if the object is camera and fov data is present
if camera and len(data) > 7: if camera and len(data) > 7:
v_fov = float(data[7])
camera.sensor_fit = 'HORIZONTAL' camera.sensor_fit = 'HORIZONTAL'
camera.sensor_width = sensor_width camera.sensor_width = sensor_width
camera.sensor_height = sensor_height camera.sensor_height = sensor_height
camera.lens = (sensor_height / 2.0) / tan(radians(v_fov / 2.0)) camera.angle_y = radiansfloat(data[7])
camera.keyframe_insert("lens") camera.keyframe_insert("lens")
filehandle.close() 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