如何创建本地空间TrailRenderer
我想让TrailRenderer使用局部空间。因为我在我的玩家的剑效果中使用TrailRenderer就像那个图像一样。
当播放器停在原地时,没有问题。但是当播放器移动时,TrailRender也移动。所以TrailRenderer的形状就像那个Image一样奇怪。
我尝试了TrailRenderer的所有Z位置设置0,但失败了。
如何解决这个问题?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Trail : MonoBehaviour
{
[SerializeField]
private Transform _trailPos;
TrailRenderer _renderer;
[SerializeField]
private Vector3[] _t;
private void Start()
{
_renderer = GetComponent<TrailRenderer>();
}
private void LateUpdate()
{
transform.position = _trailPos.position;
for (int i = 0; i < _renderer.positionCount; ++i)
{
Vector3[] v = new Vector3[_renderer.positionCount];
_renderer.GetPositions(v);
for (int j = 0; j < v.Length; ++j)
{
v[j] = (Vector2)v[j];
}
_renderer.SetPositions(v);
}
_t = new Vector3[_renderer.positionCount];
_renderer.GetPositions(_t);
}
}
1条答案
按热度按时间lg40wkob1#
你也许可以试着跟踪你的球员的移动,并将相同的增量应用到踪迹位置。
比如