Files
MinFt/Client/Assets/Scripts/UIExtend/ScreenSpaceTrail.cs
Liubing\LB 3d8d4d18f3 first commit
先修复一下,错误的场景

删除不必要的钓场资产

修复into场景

update:更新meta文件,修复报错

update:修复资源

修复第一章节建造

修复建造第三章

update:删除多余内容

update:更新README.md

update:还原图标

update:更新README

update:更新配置
2026-04-28 02:17:22 +08:00

41 lines
1.0 KiB
C#

using UnityEngine;
using UnityEngine.UI;
[RequireComponent(typeof(RectTransform), typeof(TrailRenderer))]
public class ScreenSpaceTrail : MonoBehaviour
{
private RectTransform rectTransform;
private TrailRenderer trail;
private Camera uiCamera;
void Start()
{
rectTransform = GetComponent<RectTransform>();
trail = GetComponent<TrailRenderer>();
uiCamera = GetComponentInParent<Canvas>().worldCamera;
}
void Update()
{
UpdateTrailPosition();
}
void UpdateTrailPosition()
{
// 将UI坐标转换为世界坐标
Vector3 screenPos = RectTransformUtility.WorldToScreenPoint(
uiCamera,
rectTransform.position);
// 设置Z值在相机近裁剪面稍前方
Vector3 worldPos = uiCamera.ScreenToWorldPoint(
new Vector3(screenPos.x, screenPos.y, uiCamera.nearClipPlane + 0.1f));
transform.position = worldPos;
}
public void ClearTrail()
{
trail.Clear();
}
}