美文网首页征服Unity3dunity3D技术分享unity
Uniy5.4 实现动态3D图表效果(二):添加缓动动画

Uniy5.4 实现动态3D图表效果(二):添加缓动动画

作者: 白水SR | 来源:发表于2017-08-23 08:47 被阅读158次
效果图(gif):

代码(需要插件DOTween):

using UnityEngine;
using System.Collections;
using DG.Tweening;
using UnityEngine.EventSystems;

public class Data : MonoBehaviour
{
    public int Time=5;
    private Vector3 vertice;//作为中间传值的顶点vector
    public  Vector3[] vertices;
    private Mesh mesh;
    [Range(0, 10)]
    public float value = 10;//设置高度值
    void Start()
    {
        vertices = GetComponent<MeshFilter>().mesh.vertices;//获取Gameobject meshfilter组件
        mesh = GetComponent<MeshFilter>().mesh;//获取meshfilter组件中mesh数组数据
    }

    void Update()
    {
        for (int i = 0; i < vertices.Length; i++)//遍历数组
        {

            if (vertices[i].y >= 0f)//判断mesh是否为顶部
            {
                vertice.x = vertices[i].x;
                vertice.z = vertices[i].z;
                DOTween.To(() => vertice, x => vertice = x, new Vector3(vertice.x, value, vertice.y), Time);//通过DoTween设置vertice值
                vertices[i]= vertice; //将vertice值传递给vertices[i]
            }
        }
        mesh.vertices = vertices;//刷新
    }
}

项目地址:https://github.com/baishuisr1/Unity-3D-Chart

相关文章

网友评论

    本文标题:Uniy5.4 实现动态3D图表效果(二):添加缓动动画

    本文链接:https://www.haomeiwen.com/subject/hilcdxtx.html