t3du - Add export option for particles

This commit is contained in:
2025-06-07 20:35:01 +00:00
parent 5165769088
commit fa425a98a5

View File

@ -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: