here is a basic scripted approach, it works for polygonal objects that have animation applied to there controllers but not there mesh, for example : animated noise modifier
the setup:

the birth script:
on ChannelsUsed pCont do
(
pCont.useTM = true
)
on Init pCont do
(
)
on Proceed pCont do
(
currentTick = pcont.gettimeend() as float
at time currentTime
global polymesh = $sphere
fn computeTM currentTime faceID =
(
uV = polymesh.dir
zV = polyop.getfacenormal polymesh faceID
yV = normalize (cross zV uV)
xV = normalize (cross yV zV)
matrix3 xV yV zV (polyop.getfacecenter polymesh faceID)
)
if currentTick == 0 then
(
for i = 1 to (polymesh.getnumfaces()) do
(
pcont.addparticle()
pcont.particleindex = pcont.numparticles()
pcont.particletm = computeTM (pcont.gettimeend()) pcont.particleID
)
)
else
(
for i = 1 to pcont.numparticles() do
(
pcont.particleindex = i
pcont.particletm = computeTM (pcont.gettimeend()) pcont.particleID
)
)
)
[attached max 2010 File]
cheers! 






