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)

相关推荐
疯华整猫5 小时前
把二十七个 init 从首帧前面搬走:用 Trae 把启动优化钉进 CI
android·性能优化·ai编程
17岁的勇气5 小时前
Unity Shader unity文档学习笔记(二十二):shader变体
笔记·学习·unity
数据库小学妹1 天前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
贾伟康1 天前
【共创稿事节】HarmonyOS 7.0 Progress进度体系:从接入到生产验证
性能优化·实战·harmonyos·arkts·arkui
寂寞的船1 天前
【Unity知识速递】第10期 Unity GC 零分配实战:从 UnityEngine.Pool 到手动 GC 控制的全链路优化
jvm·unity·c#·游戏引擎·lucene
疯华整猫2 天前
我用 Trae 把 Android 内存账重算了一遍
android·性能优化·源码
寂寞的船3 天前
【Unity知识速递】第8期 IL2CPP 托管堆内存碎片与原生堆交互机制深度解析
unity·游戏引擎·交互
寂寞的船4 天前
【Unity知识速递】第5期 Unity 6.2 深度解析:AI Assistant 登场,World Space UI 与 Sentis 全面升级
人工智能·ui·unity
寂寞的船4 天前
【Unity知识速递】第4期 MCP for Unity:用 AI 自然语言控制编辑器
人工智能·unity·编辑器
淡海水4 天前
09-04-内存-Unity原生对象生命周期
unity·c#·游戏引擎·gc