summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2019-12-18 14:30:44 +0100
committerPaul Lemire <paul.lemire@kdab.com>2019-12-19 08:00:06 +0100
commit56009681f926a3e27258c4355c5d52e9f776d508 (patch)
tree28b2624acf1012111e68e25e5b0cb401e06a8517
parent14e071172ef59d1acfced46a284a8981249caf0b (diff)
Update Blender exporters to work with Blender 2.80+
Change-Id: Icc688bf31d0ed5b2759ff6be8a667e64eb0085bf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r--tools/utils/exporters/blender/qt3d_animation_export.py14
-rw-r--r--tools/utils/exporters/blender/qt3d_armature_export.py17
-rw-r--r--tools/utils/exporters/blender/qt3d_path_export.py19
3 files changed, 37 insertions, 13 deletions
diff --git a/tools/utils/exporters/blender/qt3d_animation_export.py b/tools/utils/exporters/blender/qt3d_animation_export.py
index b1987ea95..1e2909c1a 100644
--- a/tools/utils/exporters/blender/qt3d_animation_export.py
+++ b/tools/utils/exporters/blender/qt3d_animation_export.py
@@ -41,8 +41,8 @@
bl_info = {
"name": "Qt3D Animation Exporter",
"author": "Sean Harmer <sean.harmer@kdab.com>, Paul Lemire <paul.lemire@kdab.com>",
- "version": (0, 4),
- "blender": (2, 72, 0),
+ "version": (0, 5),
+ "blender": (2, 80, 0),
"location": "File > Export > Qt3D Animation (.json)",
"description": "Export animations to json to use with Qt3D",
"warning": "",
@@ -426,11 +426,17 @@ def createBlenderMenu(self, context):
# Register against Blender
def register():
bpy.utils.register_class(Qt3DExporter)
- bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.append(createBlenderMenu)
def unregister():
bpy.utils.unregister_class(Qt3DExporter)
- bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.remove(createBlenderMenu)
# Handle running the script from Blender's text editor.
if (__name__ == "__main__"):
diff --git a/tools/utils/exporters/blender/qt3d_armature_export.py b/tools/utils/exporters/blender/qt3d_armature_export.py
index de5583220..cea28ad5e 100644
--- a/tools/utils/exporters/blender/qt3d_armature_export.py
+++ b/tools/utils/exporters/blender/qt3d_armature_export.py
@@ -41,8 +41,8 @@
bl_info = {
"name": "Qt3D Armature Exporter",
"author": "Sean Harmer <sean.harmer@kdab.com>, Robert Brock <robert.brock@kdab.com>",
- "version": (0, 1),
- "blender": (2, 78, 0),
+ "version": (0, 2),
+ "blender": (2, 80, 0),
"location": "File > Export > Qt3D Armature Exporter (.json)",
"description": "Export Armature to json to use with Qt3D",
"warning": "",
@@ -75,6 +75,9 @@ def jsonBuilder():
ob = bpy.context.object.data
+ if not hasattr(ob, 'bones'):
+ return bonesList
+
for bone in ob.bones:
#check parent exists
@@ -146,11 +149,17 @@ def createBlenderMenu(self, context):
# Register against Blender
def register():
bpy.utils.register_class(Qt3DArmatureExporter)
- bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.append(createBlenderMenu)
def unregister():
bpy.utils.unregister_class(Qt3DArmatureExporter)
- bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.remove(createBlenderMenu)
# Handle running the script from Blender's text editor.
if (__name__ == "__main__"):
diff --git a/tools/utils/exporters/blender/qt3d_path_export.py b/tools/utils/exporters/blender/qt3d_path_export.py
index 7c42fac9a..edb1bc8fa 100644
--- a/tools/utils/exporters/blender/qt3d_path_export.py
+++ b/tools/utils/exporters/blender/qt3d_path_export.py
@@ -41,8 +41,8 @@
bl_info = {
"name": "Qt3D Path Exporter",
"author": "Sean Harmer <sean.harmer@kdab.com>, Robert Brock <robert.brock@kdab.com>",
- "version": (0, 1),
- "blender": (2, 78, 0),
+ "version": (0, 2),
+ "blender": (2, 80, 0),
"location": "File > Export > Qt3D Path Exporter (.json)",
"description": "Export path to json to use with Qt3D",
"warning": "",
@@ -73,6 +73,9 @@ def jsonBuilder():
obj = bpy.context.object
curve = obj.data
+ if not hasattr(curve, 'splines'):
+ return pathList
+
spline = curve.splines.active
for point in spline.points:
@@ -93,7 +96,7 @@ class Qt3DPathDataConverter:
return jsonData
-class Qt3DTDPathExporter(bpy.types.Operator, ExportHelper):
+class Qt3DPathExporter(bpy.types.Operator, ExportHelper):
"""Qt3D Exporter"""
bl_idname = "export_scene.qt3d_td_path_exporter";
bl_label = "Qt3DPathExporter";
@@ -126,11 +129,17 @@ def createBlenderMenu(self, context):
# Register against Blender
def register():
bpy.utils.register_class(Qt3DPathExporter)
- bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.append(createBlenderMenu)
def unregister():
bpy.utils.unregister_class(Qt3DPathExporter)
- bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.remove(createBlenderMenu)
# Handle running the script from Blender's text editor.
if (__name__ == "__main__"):