]> git.tdb.fi Git - libs/gl.git/commitdiff
Correctly export camera up direction
authorMikko Rasa <tdb@tdb.fi>
Sun, 9 Oct 2022 13:55:43 +0000 (16:55 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sun, 9 Oct 2022 13:55:43 +0000 (16:55 +0300)
blender/io_mspgl/export_camera.py

index 87ccb1e552524860410b43e97e087f20e54e8b89..1981fd3e40f6235a68c28d5beb006ba8b4ee9b79 100644 (file)
@@ -14,7 +14,11 @@ class CameraExporter:
                resource.statements.append(Statement("position", position[0], position[1], position[2]))
                look_dir = obj.matrix_world@mathutils.Vector((0, 0, -1, 0))
                resource.statements.append(Statement("look_direction", look_dir[0], look_dir[1], look_dir[2]))
-               resource.statements.append(Statement("up_direction", 0.0, 0.0, 1.0))
+
+               right_dir = obj.matrix_world@mathutils.Vector((1, 0, 0, 0))
+               look_xy = mathutils.Vector((look_dir.x, look_dir.y, 0))
+               up_dir = right_dir.xyz.cross(look_xy)
+               resource.statements.append(Statement("up_direction", up_dir.x, up_dir.y, up_dir.z))
 
                # Auto seems to be the same as horizontal
                if obj.data.sensor_fit=='HORIZONTAL' or obj.data.sensor_fit=='AUTO':