[Bf-extensions-cvs] [5523cba] master: After Effects export: fix zoom when camera's sensor fit set to AUTO

Damien Picard noreply at git.blender.org
Tue Mar 30 22:05:20 CEST 2021


Commit: 5523cbaed60719960f5f7b2486925145ecbe81e5
Author: Damien Picard
Date:   Tue Mar 30 21:44:51 2021 +0200
Branches: master
https://developer.blender.org/rBAC5523cbaed60719960f5f7b2486925145ecbe81e5

After Effects export: fix zoom when camera's sensor fit set to AUTO

In this mode, the "sensor" always takes the first sensor value, called
sensor_height. But the "dimension" is either image height or width,
whichever is greater.

Reported by user ClumsyFingers on Blender Artists.

===================================================================

M	io_export_after_effects.py

===================================================================

diff --git a/io_export_after_effects.py b/io_export_after_effects.py
index e39f1e5..bca17f7 100644
--- a/io_export_after_effects.py
+++ b/io_export_after_effects.py
@@ -23,7 +23,7 @@ bl_info = {
     "description": "Export cameras, selected objects & camera solution "
         "3D Markers to Adobe After Effects CS3 and above",
     "author": "Bartek Skorupa",
-    "version": (0, 0, 68),
+    "version": (0, 0, 69),
     "blender": (2, 80, 0),
     "location": "File > Export > Adobe After Effects (.jsx)",
     "warning": "",
@@ -350,9 +350,14 @@ def convert_transform_matrix(matrix, width, height, aspect,
 # Calculations are made using sensor's size and scene/comp dimension (width or height).
 # If camera.sensor_fit is set to 'HORIZONTAL':
 #     sensor = camera.data.sensor_width, dimension = width.
-# If camera.sensor_fit is set to 'AUTO'
-# and the vertical size is greater than the horizontal size:
-#     sensor = camera.data.sensor_width, dimension = width.
+#
+# If camera.sensor_fit is set to 'AUTO':
+#     sensor = camera.data.sensor_width
+# (actually, it just means to use the first value)
+# In AUTO, if the vertical size is greater than the horizontal size:
+#     dimension = width
+# else:
+#     dimension = height
 #
 # If camera.sensor_fit is set to 'VERTICAL':
 #    sensor = camera.data.sensor_height, dimension = height
@@ -384,13 +389,16 @@ def convert_transform_matrix(matrix, width, height, aspect,
 
 
 def convert_lens(camera, width, height, aspect):
+    if camera.data.sensor_fit == 'VERTICAL':
+        sensor = camera.data.sensor_height
+    else:
+        sensor = camera.data.sensor_width
+
     if (camera.data.sensor_fit == 'VERTICAL'
             or camera.data.sensor_fit == 'AUTO'
-            and (width / height) * aspect < 0):
-        sensor = camera.data.sensor_height
+            and (width / height) * aspect < 1.0):
         dimension = height
     else:
-        sensor = camera.data.sensor_width
         dimension = width
 
     zoom = camera.data.lens * dimension / sensor * aspect



More information about the Bf-extensions-cvs mailing list