Unity中实现人物残影效果

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

实现思路:

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

实现代码:

cs 复制代码
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)

相关推荐
一种时光1 分钟前
Unity 获取当前播放的动画,判断是否是某个动画
unity·游戏引擎
墨香幽梦客2 小时前
系统性能优化技巧:数据库索引、缓存与异步处理的综合应用
数据库·缓存·性能优化
2301_781392523 小时前
MySQL格式化数据展示——分页查询
java·数据库·mysql·性能优化
不绝1914 小时前
Unity入门 :场景叠加/预制体资源包/脚本资源/生命周期函数/Inspector页面
unity·游戏引擎
在路上看风景4 小时前
20. 资源和脚本的绑定关系
unity
yj爆裂鼓手7 小时前
unity对象池
unity·c#
ct9788 小时前
WebGL Shader性能优化
性能优化·webgl
kekegdsz8 小时前
Android构建优化:编译速度从 10 分钟编译到 10 秒
android·性能优化·gradle
在路上看风景8 小时前
3.7 SRP Batcher
unity
快乐觉主吖8 小时前
Unity方便修改产品名和包名的小工具
unity·游戏引擎