Unity 属性雷达图
using System.Collections.Generic;
using UnityEngine; [RequireComponent(typeof(MeshFilter),typeof(MeshRenderer))]
public class Radar : MonoBehaviour
{
[Tooltip("属性边长")]
public float radius = ;
[Range(, ), Tooltip("当前属性百分比")]
public List<float> m_attributes; private float m_cell_angle;
private List<Vector3> m_vertices = new List<Vector3>();
private int[] m_triangles; private MeshRenderer m_render;
private MeshFilter m_filter;
private Mesh m_mesh; private void Awake()
{
m_render = GetComponent<MeshRenderer>();
m_filter = GetComponent<MeshFilter>();
m_mesh = new Mesh();
m_filter.mesh = m_mesh;
if (m_render.material == null)
{
Debug.LogWarning("请添加Material");
}
} void Start()
{
if (m_attributes.Count != )
{
m_cell_angle = / m_attributes.Count;
InitMeshData();
}
} private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
Refresh();
}
} void InitMeshData()
{
#region 设置顶点
m_vertices.Clear();
m_vertices.Add(new Vector3(, , ));
m_vertices.Add(new Vector3(radius, , )); for (int i = ; i < m_attributes.Count; i++)
{
float angle = Mathf.Deg2Rad * m_cell_angle * (i + );
Vector3 point = new Vector3(radius * Mathf.Cos(angle), radius * Mathf.Sin(angle), );
m_vertices.Add(point);
}
#endregion #region 设置三角形
m_triangles = new int[m_attributes.Count * ]; int index = ;
int value = ;
for (int i = ; i < m_triangles.Length; i++)
{
if (i % == )
{
m_triangles[i] = ;
value = index;
index++;
}
else
{
value++;
if (value == m_attributes.Count + )
value = ;
m_triangles[i] = value;
}
}
#endregion
} void Refresh()
{
Vector3[] vertices = m_vertices.ToArray(); for (int i = ; i < m_vertices.Count; i++)
{
vertices[i] = m_vertices[i] * m_attributes[i - ];
} m_mesh.vertices = vertices;
m_mesh.triangles = m_triangles;
m_mesh.RecalculateNormals();
}
}
转载:https://blog.csdn.net/zjw1349547081/article/details/53667690
Unity 属性雷达图的更多相关文章
- Mesh绘制雷达图(UGUI)
参考资料:http://www.cnblogs.com/jeason1997/p/5130413.html ** 描述:雷达图 刷新 radarDate.SetVerticesDirty(); usi ...
- WPF DevExpress 设置雷达图Radar样式
DevExpress中定义的ChartControl很不错,很多项目直接使用这种控件. 本节讲述雷达图的样式设置 <Grid> <Grid.Resources> <D ...
- 【VR视频播放】解决Unity模型贴图反转的问题
使用UV贴图网模型上贴的时候, 会出现图片反过来的情况. 根本原因是因为, 一般系统的屏幕坐标系(例如Android)是左上角为原点(0,0), 但是Unity的贴图是以左下角为原点(0,0) 方法有 ...
- 利用d3.js绘制雷达图
利用d3,js将数据可视化,能够做到数据与代码的分离.方便以后改动数据. 这次利用d3.js绘制了一个五维的雷达图.即将多个对象的五种属性在一张图上对照. 数据写入data.csv.数据类型写入typ ...
- Silverlight 雷达图和一种特殊泡泡画法
原文:Silverlight 雷达图和一种特殊泡泡画法 自上次发了雷达图,也没怎么说一下. 这次又做了一种图,继续共享一下,就是以一个点为中心,周围绕着几个点,用一个箭头与中心相连并带有某些信息.圆 ...
- echarts雷达图点击事件
最近看见别人问的问题,点击雷达图的拐点,获取点击数据的问题,直接上代码. echarts配置问题:https://www.douban.com/note/509404582/ <!doctype ...
- JavaScript数据可视化编程学习(二)Flotr2,雷达图
一.雷达图 使用雷达图显示多维数据. 如果你有多维的数据要展示,那么雷达图就是一种非常有效的可视化方法. 由于雷达图不常用,比较陌生,所以向用户解释的时候有一些难度.注意使用雷达图会增加用户认知负担. ...
- 浅谈canvas绘画王者荣耀--雷达图
背景: 一日晚上下班的我静静的靠在角落上听着歌,这时"滴!滴!"手机上传来一阵qq消息.原来我人在问王者荣耀的雷达图在页面上如何做出来的,有人回答用canvas绘画.那么问题来了, ...
- 关于echarts生成雷达图的一些参数介绍
export const industryFactorOption = { title: { text: '雷达图', textStyle: { color: 'rgba(221,221,221,1) ...
随机推荐
- asp+SqlServer2008开发【第四集:windows server 2008 r2的操作记录】
1,使用powershell server和putty像远程linux一样操作windows服务器,解决使用mstsc命令无法远程桌面的问题. 2,使用IMM管理,使用浏览器查看IBM服务器的工作状况 ...
- hdu5701-中位数计数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5701 题目: Problem Description 中位数定义为所有值从小到大排序后排在正中间的那个 ...
- Classy Numbers
http://codeforces.com/group/w1oiqifZbS/contest/1036/problem/C ①先查找,存入vector(dfs)-->排序(sort)--> ...
- c++模板文件,方便调试与运行时间的观察
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include <vector>#include<algorithm& ...
- url 中文及特殊字符转码
#include <ctype.h> std::string UrlEncode(const std::string& szToEncode) { std::string s ...
- 百度API获取经纬度使用
首先通过百度地图,注册账号,然后申请密钥 http://lbsyun.baidu.com/apiconsole/key 搜索某个关键字 http://api.map.baidu.com/place/v ...
- ECMA Script 6_数值的扩展
1. 二进制 和 八进制 新的表示法 前缀 0b(或0B) 表示 二进制 前缀 0o(或 0O )表示 八进制 console.log(0b111110111 === 503); // true co ...
- JavaScript基础知识(Date 的方法)
Date 的方法 console.log(typeof Date);// "function" Date的实例 console.log(typeof new Date()); // ...
- 逆向工程-获得IPsearch的注册码
1)运行软件点击File->register 2)随便输入用户名和密码 3)记录弹窗的的关键字 4)发送到PEID查壳 4.1)未找到加密的壳 4.2)发送到OD打开,在反汇编目录下右键菜单找到 ...
- 字符串转xml,特殊字符的问题
字符串转xml,如果字符串包含&,< 等特殊符号,转成xml 需要特殊处理,否则XML解析会出错. String uuid = UUID.randomUUID().toString(). ...