character as a particle ?

Is there a way to make it so while a character is running it duplicates the model at a set point in time and then the duplicate model fades out after a few seconds. To give the illusion of a character running really fast or something like that.I’m sure it’s possible just not sure how to achieve this effect.

So, like ‘snapshots’ of the model?

Well, it’s not exactly straightforward, but what I would do is instantiate a copy of the model, and freeze the animation and movement on it (so that it doesn’t keep moving). Then, change the material to a semi-transparent one, which gradually fades out over time. Finally, when it’s reached full transparency, delete the copy.

Do this as often as you want the effect to occur.

I’d make the instantiated duplicate share the same model and animation, but don’t bother including all the complicated game mechanic stuff. After all, it doesn’t really have to do much! The only difficult part, really, is duplicating the pose, but it shouldn’t be too hard to just iterate through all the bones in one model and copy their loc/rot/scale to the same-named bones in the new model.

Here’s a simple way of copying bone locations!

function CopyBones(other : Transform)
    // This requires that 'other' is the root bone of a 
    // skeleton with the same bone names in it as the original.

    var myBones : Transform[] = GetComponentsInChildren(Transform);
    var otherBones : Transform[] = other.GetComponentsInChildren(Transform);

    for(var bone : Transform in myBones)
        for(var otherBone : Transform in otherBones)
            if( ==
                otherBone.localScale = bone.localScale;
                otherBone.localRotation = bone.localRotation;
                otherBone.localPosition = bone.localPosition;

I can’t comment yet, but I have something to add to syclamoth’s answer: instead of deleting the model once you’re done with it, you could put it back in a pool to avoid instantiating/deleting a lot.