From: Mikko Rasa Date: Sat, 15 Jul 2023 19:33:32 +0000 (+0300) Subject: Correctly export cameras aligned on the Z axis X-Git-Url: https://git.tdb.fi/?a=commitdiff_plain;h=0f82f24126911d024c235e94127812a9c50edad2;p=libs%2Fgl.git Correctly export cameras aligned on the Z axis --- diff --git a/blender/io_mspgl/export_camera.py b/blender/io_mspgl/export_camera.py index 7108681a..9b814d9e 100644 --- a/blender/io_mspgl/export_camera.py +++ b/blender/io_mspgl/export_camera.py @@ -16,8 +16,13 @@ class CameraExporter: resource.statements.append(Statement("look_direction", look_dir.x, look_dir.y, look_dir.z)) 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) + if look_dir.x*look_dir.x+look_dir.y*look_dir.y>0.01: + look_flat = mathutils.Vector((look_dir.x, look_dir.y, 0)) + elif abs(look_dir.y)>abs(look_dir.x): + look_flat = mathutils.Vector((look_dir.x, 0, look_dir.z)) + else: + look_flat = mathutils.Vector((0, look_dir.y, look_dir.z)) + up_dir = right_dir.xyz.cross(look_flat) resource.statements.append(Statement("up_direction", up_dir.x, up_dir.y, up_dir.z)) # Auto seems to be the same as horizontal