2D游戏的残影很简单,美术做序列帧图片就行了,那么3D游戏的残影美术做不了,得靠程序员动态创建模型来处理.
实现原理也很简单:
1.间隔一定时间创建一个残影模型
GameObject go = GameObject.Instantiate(origin, pos, dir) as GameObject;
2.对残影模型采用特殊的shader,要简单高效
public class MotionGhost
{
public GameObject m_GameObject;
public List<Material> m_Materials;
public float m_DurationTime;
public float m_FadeTime;
public float m_Time;
public MotionGhost(GameObject go, Color color, float durationTime, float fadeTime)
{
m_GameObject = go;
m_DurationTime = durationTime;
m_FadeTime = fadeTime;
m_Time = durationTime;
if (