Embora a solução do sistema de partículas fornecida pela LVBen funcione, ela não é a solução mais adequada ao usar o 2D Toolkit para seus sprites. A principal razão é que é impossível sincronizar o material da trilha fantasma no sistema de partículas com a animação atual do sprite da pré-fabricada principal.
Aqui está a solução amigável do 2D Toolkit que acabei usando.
Para a pré-fabricada na qual você deseja que a trilha fantasma venha, anexe um objeto de jogo vazio a ele para atuar como raiz. Sob essa raiz, anexe qualquer número de objetos de jogo tk2dSprite ou tk2dSpriteAnimator (dependendo se você deseja ou não sprites animados) (acrescentei 4) e ajuste seus valores de alfa de cor conforme apropriado para obter o efeito fantasma / desvanecimento.
Na atualização principal do pai
// AmountToMove is a Vector3 of the amount we will translate this gameobject.
float y = (int)AmountToMove.y == 0 ? 0 : -AmountToMove.y;
float distanceFactor = 0.05f;
for (int i = 0; i < GhostingRoot.childCount; ++i) {
// Based on the player's current speed and movement along the x and y axes,
// position the ghost sprites to trail behind.
Vector3 ghostSpriteLocalPos = Vector3.Lerp(
GhostingRoot.GetChild(i).localPosition,
new Vector3((-CurrentSpeed * distanceFactor * i),
(y * distanceFactor * i), 0),
10f * Time.deltaTime);
// GhostingRoot is the root gameobject that's parent to the ghost sprites.
GhostingRoot.GetChild(i).localPosition = ghostSpriteLocalPos;
// Sync the animations.
// _ghostSprites is a List of the tk2dSpriteAnimator ghost sprites.
_ghostSprites[i].Play(SpriteAnimator.CurrentClip.name);
_ghostSprites[i].Sprite.FlipX = Sprite.FlipX;
}
Esta solução criará o efeito fantasma à direita enquanto sincroniza as animações dos sprites fantasmas com o sprite principal.