Unity组件TrailRenderer屏幕滑动拖尾
- 介绍
- 制作
- 总结
介绍
今天要做一个拖动效果,正好用到了TrailRenderer这个组件,正好分享一下
效果参考如下:
制作
1.创建空物体TrailObject添加组件TrailRenderer
下面的材质可以根据自己想要制作的效果去拖动材质即可(我这里用的是Unity原生的Shader粒子的)
2.创建操作脚本TrailController.CS
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TrailController : MonoBehaviour
{
private TrailRenderer trailRenderer;
void Start()
{
// 获取主相机和Trail Renderer组件
trailRenderer = GetComponent<TrailRenderer>();
// 初始化Trail Renderer
trailRenderer.time = 0.5f; // 拖尾持续时间
trailRenderer.startWidth = 0.2f; // 拖尾起始宽度
trailRenderer.endWidth = 0.1f; // 拖尾结束宽度
}
/// <summary>
/// 设置位置
/// </summary>
/// <param name="pos"></param>
public void SetDragPos(Vector3 pos)
{
// 更新拖尾对象的位置
transform.position = pos;
}
/// <summary>
/// 清除拖尾
/// </summary>
public void Clear()
{
trailRenderer.Clear();
}
private void Update()
{
if (Input.GetMouseButton(0))
{
Vector3 p = Camera.main.ScreenToWorldPoint(Input.mousePosition);
p.z = 0; // 确保Z坐标为0(2D游戏)
SetDragPos(p);
}
if (Input.GetMouseButtonUp(0))
{
Clear();
}
}
}
3.将写好的脚本添加到创建的TrailObject物体上
4.最后自己运行测试即可
总结
感谢大家的支持和帮助