diff --git a/korman/exporter/convert.py b/korman/exporter/convert.py index 6b4cdb1..fbc7726 100644 --- a/korman/exporter/convert.py +++ b/korman/exporter/convert.py @@ -431,8 +431,10 @@ class Exporter: def do_pre_export(bo): for mod in bo.plasma_modifiers.modifiers: - for i in filter(None, mod.pre_export(self, bo)): - handle_temporary(i, bo) + proc = getattr(mod, "pre_export", None) + if proc is not None: + for i in filter(None, proc(self, bo)): + handle_temporary(i, bo) for bl_obj in self._objects: do_pre_export(bl_obj) diff --git a/korman/properties/modifiers/base.py b/korman/properties/modifiers/base.py index 388e4e8..4752988 100644 --- a/korman/properties/modifiers/base.py +++ b/korman/properties/modifiers/base.py @@ -80,6 +80,8 @@ class PlasmaModifierProperties(bpy.types.PropertyGroup): Drawables that will render in the same pass""" return False + # This is temporarily commented out to prevent MRO failure. Revisit in Python 3.7 + ''' def pre_export(self, exporter, bo: bpy.types.Object) -> Generator: """This is the first phase of the modifier export; allowing modifiers to create additonal objects or logic nodes to be used by the exporter. To do so, overload this method @@ -87,6 +89,7 @@ class PlasmaModifierProperties(bpy.types.PropertyGroup): when the export completes. PRP objects should generally not be exported in this phase. """ yield + ''' @property def requires_actor(self):