Si bien la solución del sistema de partículas proporcionada por LVBen funciona, no es la solución más adecuada cuando se utiliza 2D Toolkit para sus sprites. La razón principal es que es imposible sincronizar el material del rastro fantasma en el sistema de partículas con la animación de sprites actual del prefabricado principal.
Aquí está la solución amigable 2D Toolkit que terminé usando.
Para la prefabricación en la que desea que provenga el rastro fantasma, adjunte un objeto de juego vacío para que actúe como raíz. Debajo de esta raíz, adjunte cualquier número de objetos de juego tk2dSprite o tk2dSpriteAnimator (dependiendo de si desea sprites animados o no) (agregué 4) y ajuste sus valores alfa de color según corresponda para lograr el efecto fantasma / desvanecimiento.
En la actualización principal superior
// 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 solución creará el efecto fantasma final mientras sincroniza las animaciones de los sprites fantasmas con el sprite principal.