Unity LineRenderer 画运动轨迹
生活随笔
收集整理的這篇文章主要介紹了
Unity LineRenderer 画运动轨迹
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述: 一開始將LineRender組件 附給想要畫軌跡的物體時,并不會顯示在視圖中。
原因是 需要動態產生 畫線的實例,并把它附給 父object
Youtube畫線學習鏈接
LineRenderer 畫運動軌跡
1、給組件添加 材質 Materials ,不添加不會有畫線!!!
2、設置畫線的起點和端點, 一般設置端點 End Cap Vertics 多添加幾個,此處為5個
如果設置為1個,會根據原始Material的樣子畫線
3、 設置 color,width 等其他屬性
4、Positions的個數即為 頂點數,組件設置里至少為2個
5、 sorting layer 和 object 的layer 都需要設置,不然會與背景進行渲染交互
6、設置好以后就將該帶有render的object 設為預制體prefab
7、在需要畫運動軌跡的物體上添加腳本:
完整代碼如下
public class Jumpline : MonoBehaviour {public GameObject lineprefab;public GameObject currentline;public GameObject emptyPrefab;public GameObject lineObject;public LineRenderer line;private Vector3[] path;private List<Vector3> pos = new List<Vector3>();private float timer;private void Start(){lineObject = Instantiate(emptyPrefab, transform.position, Quaternion.identity, gameObject.transform);}// Update is called once per frameprivate void FixedUpdate(){if(Time.time %5 == 0 && Time.time>=5){pos.Clear();path = pos.ToArray();Destroy(lineObject);lineObject = Instantiate(emptyPrefab, transform.position, Quaternion.identity, gameObject.transform);}if(timer <=0){currentline = Instantiate(lineprefab, transform.position, Quaternion.identity,lineObject.transform);line = currentline.GetComponent<LineRenderer>();pos.Add(transform.position);path = pos.ToArray();timer = 0.1f;}timer -= Time.deltaTime;if(path.Length!=0){line.positionCount = path.Length;line.SetPositions(path);}} }其中 設置了 每過5s 消除帶有畫線的 子 object,每過0.1s就畫一個 lineRender.
運行時,hierarchy層如下圖:
OK!
總結
以上是生活随笔為你收集整理的Unity LineRenderer 画运动轨迹的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国学大师林语堂献宝:英文学习八要诀
- 下一篇: 猿创征文 |【算法入门必刷】数据结构-栈