unity3D LineRender的使用:插值移动终点
发布日期:2021-06-30 19:37:48 浏览次数:3 分类:技术文章

本文共 1613 字,大约阅读时间需要 5 分钟。

首先做一个预设,假设命名为line,

添加LineRender组件,添加材质,让其可以正常显示

把line预设保存在Assets/Resources目录中

接下来创建一个LineRenderTest.cs脚步,挂到摄像机上。

脚本如下:

using UnityEngine;using System.Collections;using Holoville.HOTween;public class LineRenderTest: MonoBehaviour {    private LineRenderer m_lineRander;    private Vector3 m_curPos;    void Start()    {        // 加载资源        GameObject lineObjPrefab = Resources.Load("line",typeof(GameObject)) as GameObject;        if (lineObjPrefab == null)        {            Debug.LogError("lineObjPrefab == null");        }        // 实例化        GameObject lineObj = GameObject.Instantiate(lineObjPrefab) as GameObject;        m_lineRander = lineObj.GetComponent
(); if (m_lineRander != null) { // 设置起点和终点 m_lineRander.transform.localPosition = Vector3.zero; m_lineRander.SetVertexCount(2); m_lineRander.SetPosition(0, new Vector3(0, 0, 0)); m_lineRander.SetPosition(1, new Vector3(0, 0, 0)); startMove(); } } private void startMove() { // 使用HoTween对终点进行插值变换 TweenParms tp = new TweenParms(); tp.Prop("CurPos", new Vector3(50, 100, 100)); tp.Ease(EaseType.Linear); tp.SpeedBased(true); tp.OnComplete(moveEnd); HOTween.To(this, 100f, tp); } private void moveEnd() { Debug.Log("moveEnd"); } public Vector3 CurPos { get { return m_curPos; } set { m_curPos = value; if (m_lineRander != null) { m_lineRander.SetPosition(1, m_curPos); } } }}

搞定

 

 

 

转载地址:https://linxinfa.blog.csdn.net/article/details/46390427 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:unity3d 根据手指触摸的位置去放置UI
下一篇:unity3D 拖拽旋转3D物体

发表评论

最新留言

不错!
[***.144.177.141]2024年04月20日 14时56分14秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章