Я вот пишу
def execute(self, context):
scene = context.scene
ob = context.object
fs=scene.frame_start
fc=scene.frame_current
fe=scene.frame_end
if ob.particle_systems:
pSys = ob.particle_systems.active
pSysName = ob.name+pSys.name
parts = pSys.particles
lifetime = int(pSys.settings.lifetime)
dobject=pSys.settings.dupli_object
alives = {}
transes = []
for i in range(1,lifetime+2):
scene.frame_set(i, 0.0)
dmatrix=dobject.matrix_world
scale = dmatrix.to_scale()[:]
rotate = tuple([degrees(e) for e in dmatrix.to_3x3().to_euler()])
transes.append((scale[0],scale[1],scale[2],rotate[0],rotate[1],rotate[2]))
for i in range(fs,fe):
scene.frame_set(i, 0.0)
bakeFile = open("/tmp/%s_%s.bda"%(pSysName,i),"w")
for k,v in enumerate(parts):
if v.alive_state == 'ALIVE':
try:
if alives[k] > 0:
alives[k] += 1
except:
alives[k] = 1
else:
try:
if alives[k] > 0:
del(alives[k])
except:
pass
for key in alives:
bakeFile.write('%s %s\n'%(k,transes[alives[k]]))
bakeFile.close()
scene.frame_set(fc, 0.0)
return {'FINISHED'}
И, это не работает...
Питон не такая уж вкуснотень.