diff --git a/leenkx/blender/lnx/exporter.py b/leenkx/blender/lnx/exporter.py index c35de79..0067299 100644 --- a/leenkx/blender/lnx/exporter.py +++ b/leenkx/blender/lnx/exporter.py @@ -540,7 +540,7 @@ class LeenkxExporter: o['material_refs'].append(lnx.utils.asset_name(material)) def export_particle_system_ref(self, psys: bpy.types.ParticleSystem, out_object): - if psys.settings.instance_object is None or psys.settings.render_type != 'OBJECT' or not psys.settings.instance_object.lnx_export: + if psys.settings.instance_object is None or psys.settings.render_type != 'OBJECT' or not psys.settings.instance_object.lnx_export or not bpy.data.objects[out_object['name']].modifiers[psys.name].show_render: return self.particle_system_array[psys.settings] = {"structName": psys.settings.name} @@ -910,7 +910,8 @@ class LeenkxExporter: out_object['particle_refs'] = [] out_object['render_emitter'] = bobject.show_instancer_for_render for i in range(num_psys): - self.export_particle_system_ref(bobject.particle_systems[i], out_object) + if bobject.modifiers[bobject.particle_systems[i].name].show_render: + self.export_particle_system_ref(bobject.particle_systems[i], out_object) aabb = bobject.data.lnx_aabb if aabb[0] == 0 and aabb[1] == 0 and aabb[2] == 0: @@ -2280,6 +2281,15 @@ class LeenkxExporter: if len(self.particle_system_array) > 0: self.output['particle_datas'] = [] for particleRef in self.particle_system_array.items(): + padd = False; + for obj in self.output['objects']: + if 'particle_refs' in obj: + for pref in obj['particle_refs']: + if pref['particle'] == particleRef[1]["structName"]: + if bpy.data.objects[obj['name']].modifiers[pref['name']].show_render == True: + padd = True; + if not padd: + continue; psettings = particleRef[0] if psettings is None: