diff options
author | Julien Duroure <julien.duroure@gmail.com> | 2020-04-11 14:43:31 +0300 |
---|---|---|
committer | Julien Duroure <julien.duroure@gmail.com> | 2020-04-11 14:43:31 +0300 |
commit | 43148f17496ce7d51f0377631b6d393756b22724 (patch) | |
tree | cc81f72ac46b3a00cd566f901bef474ed0d385b5 | |
parent | 02ca41d48ea388c297dcc0952a9ae8b2b93da9d7 (diff) |
glTF importer: set camera near/far
-rwxr-xr-x | io_scene_gltf2/__init__.py | 2 | ||||
-rwxr-xr-x | io_scene_gltf2/blender/imp/gltf2_blender_camera.py | 26 |
2 files changed, 18 insertions, 10 deletions
diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py index 5d0dbe79..73ffc5a1 100755 --- a/io_scene_gltf2/__init__.py +++ b/io_scene_gltf2/__init__.py @@ -15,7 +15,7 @@ bl_info = { 'name': 'glTF 2.0 format', 'author': 'Julien Duroure, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors', - "version": (1, 2, 59), + "version": (1, 2, 60), 'blender': (2, 82, 7), 'location': 'File > Import-Export', 'description': 'Import-Export as glTF 2.0', diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_camera.py b/io_scene_gltf2/blender/imp/gltf2_blender_camera.py index e97bd0b8..159a3f9f 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_camera.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_camera.py @@ -35,17 +35,25 @@ class BlenderCamera(): # Blender create a perspective camera by default if pycamera.type == "orthographic": cam.type = "ORTHO" + + # TODO: xmag/ymag + + cam.clip_start = pycamera.orthographic.znear + cam.clip_end = pycamera.orthographic.zfar + else: - if hasattr(pycamera.perspective, "yfov"): - cam.angle_y = pycamera.perspective.yfov - cam.lens_unit = "FOV" - cam.sensor_fit = "VERTICAL" + cam.angle_y = pycamera.perspective.yfov + cam.lens_unit = "FOV" + cam.sensor_fit = "VERTICAL" + + # TODO: fov/aspect ratio - # TODO: lot's of work for camera here... - if hasattr(pycamera, "znear"): - cam.clip_start = pycamera.znear + cam.clip_start = pycamera.perspective.znear + if pycamera.perspective.zfar is not None: + cam.clip_end = pycamera.perspective.zfar + else: + # Infinite projection + cam.clip_end = 1e12 # some big number - if hasattr(pycamera, "zfar"): - cam.clip_end = pycamera.zfar return cam |