Unity中实现人物残影效果

今天火柴人联盟3公测了,看到一个残影的效果,很有意思,上网查询了一下实现方式,

实现思路:

将角色的网格复制出来,然后放置到新建的物体的MeshFilter组件上,每隔几十毫秒在玩家的位置生成一个,这样随着玩家移动,不断复制数个就会实现此效果。

实现代码:

public class CharacterTrail : MonoBehaviour
{
    public MeshFilter m_filter;
    public Material material;

    private void Start()
    {
        StartCoroutine(CreateMesh());
    }

    IEnumerator CreateMesh()
    {
        while (Application.isPlaying)
        {
            GameObject gameObject = new GameObject();
            gameObject.AddComponent<MeshFilter>().mesh = m_filter.mesh;
            gameObject.AddComponent<MeshRenderer>().sharedMaterial = material;
            gameObject.transform.position = transform.position;
            Destroy(gameObject, 0.7f);
            yield return new WaitForSeconds(0.1f);
        } 
    }
}

实现效果:

参考:

CHARACTER TRAIL TUTORIAL in Unity (youtube.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值