unity实现折线图功能

有时候需要观看历史数据内容,为了更直观的表达,我们需要用到折线图,其中有两种方法可以实现该功能。

(1)

首先先使用Unity编辑器的方式来添加一条线~
Unity -> GameObject -> Create Empty 创建一个空的对象,我命名为line。然后点击 Component -> Miscellaneous -> Line Renderer 给line添加一个线渲染器的属性,Line Renderer是非常中的属性,下面我会详细的说明。
Create -> Material 创建一个材质,做来这个线段的贴图,下面我们看看Line Renderer的一些重要参数。
Cast Shadows: 是否投射阴影。
Receive Shadows: 是否接收阴影。
Materials :设置材质,这里可以设置多个材质, line就是上面我们创建的材质,这里我给line这个材质涂上了红颜色。
Positions:这个属性就比较重要了,它是专门设置线段在3D 世界中的点的坐标,size 设置点的数量 为3 那么将会有3个点,Element 0  Element 1 Element 2    这三个点将确定这条曲线分为两段,第一段是(0,0,1) 到  (0,0,2) ,第二段是 (0,0,2) 到(0,0,4)。
Paramerters 
StartWidth :设置起点的宽度  
EndWidth:  设置终点的宽度 ,这两项数值默认为1,但是现实起来很宽,所以一般都设置为0.几~ 
Start Color: 设置起点颜色
Start Color: 设置终点颜色
Use World Space 使用世界坐标系
大家看看效果,清楚的可以看到曲线分为两部分,第一部分较短 第二部分较长。
01 using UnityEngine;
02 using System.Collections;
03 using System.Threading;
04  
05 public class Main : MonoBehaviour {
06  
07     //游戏对象,这里是线段对象
08     private GameObject LineRenderGameObject;
09  
10     //线段渲染器
11     private LineRenderer lineRenderer;
12  
13     //设置线段的个数,标示一个曲线由几条线段组成
14     private int lineLength = 4;
15  
16     //分别记录4个点,通过这4个三维世界中的点去连接一条线段
17     private Vector3 v0 = new Vector3(1.0f,0.0f,0.0f);
18     private Vector3 v1 = new Vector3(0.0f,1.0f,0.0f);
19     private Vector3 v2 = new Vector3(0.0f,0.0f,1.0f);
20     private Vector3 v3 = new Vector3(1.0f,0.0f,0.0f);
21  
22     void Start(){
23  
24         //通过之前创建的对象的名称,就可以在其它类中得到这个对象,
25         //这里在main.cs中拿到line的对象
26         LineRenderGameObject = GameObject.Find ("line");
27  
28         //通过游戏对象,GetComponent方法 传入LineRenderer
29         //就是之前给line游戏对象添加的渲染器属性
30         //有了这个对象才可以为游戏世界渲染线段
31         lineRenderer = (LineRenderer)LineRenderGameObject.GetComponent ("LineRenderer");
32  
33         //设置线段长度,这个数值须要和绘制线3D点的数量想等
34         //否则会抛异常~~
35         lineRenderer.SetVertexCount(lineLength);
36  
37     }  
38  
39     void Update() {
40  
41         //在游戏更新中去设置点
42         //根据点将这个曲线链接起来
43         //第一个参数为 点的ID
44         //第二个 参数为点的3D坐标
45         //ID 一样的话就标明是一条线段
46         //所以盆友们须要注意一下!
47  
48         lineRenderer.SetPosition (0, v0);
49         lineRenderer.SetPosition (1, v1);
50         lineRenderer.SetPosition (2, v2);
51         lineRenderer.SetPosition (3, v3);
52  
53     }
54  
55 }


(2)利用画线插件 Vectrosity

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值