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

效果图(gif):
Uniy5.4 实现动态3D图表效果(二):添加缓动动画_第1张图片

代码(需要插件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().mesh.vertices;//获取Gameobject meshfilter组件
        mesh = GetComponent().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图表效果(二):添加缓动动画)