如何在 Unity 中为线条渲染器平铺纹理制作动画

How To Animate Line Renderer Tiled Texture In Unity

我想重现您在《炉石传说》中看到的画线效果,其中画了一条线,并且线的平铺纹理沿着路径动画。

这是一个视频参考: https://youtu.be/68usg4ELkYI

我可以使用点对点的绘制线,而且我知道如何设置平铺纹理。我的问题是如何为纹理制作动画,使其向前滑动和淡出。

这里是我的画线代码供参考:

[SerializeField]
LineRenderer _lineRenderer;
private void drawLineFromCardToCursor()
{
    var mousePos = Input.mousePosition;
    mousePos.z = 10.35f; // Distance from camera to world
    Vector3 worldPoint = Camera.main.ScreenToWorldPoint(mousePos);
    // Must move it forward by 1 so it appears in front of screens
    worldPoint.z = -0.001f;
    _lineRenderer.SetPosition(0, start);
    _lineRenderer.SetPosition(1, end);
}

这是我的线条渲染器的平铺设置:

请告知您是否知道如何使平铺动画向前移动(如果它包括在末端淡入和淡出则更好)。

谢谢。

您可以将 Texture Mode 设置为 Tile

然后偏移贴图:

lineRenderer.material.SetTextureOffset("_MainTex", Vector2.right * Time.time);