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) ...
随机推荐
- 在'for'循环中获取索引
ints = [8, 23, 45, 12, 78] 当使用循环遍历它时,在这种情况下如何访问循环索引,从1到5? 最普遍的办法是设置索引变量(通常在C或PHP等语言中使用),但这被认为是非pytho ...
- sort it 树状数组+逆序对
sum[i]是1-i所有1的和,而i-sum[a[i]]就是在a[i]后面的数,即在i之前出现,却比他大的数.1是加在a[i]上,即i实际应该放的位置.而c[i]是为sum做准备的 #include& ...
- Linux 解压命令tar
1. 参数说明: -c :建立一个打包文件: -x :解开一个打包文件: -t :查看 tar包里面的文件: (c/x/t仅能存在一个,不可同时存在,因为不可能同时压缩与解压缩.) -z :打包后用g ...
- CentOS6.5安装图形用户界面
CentOS 6.5 安装图形界面 安装的时候没有安装图像界面.安装步骤如下: 1.yum -y groupinstall Desktop 2.yum -y groupinstall "X ...
- jupyter notebook 远程访问
https://www.youtube.com/watch?v=LpQl0yeZzCU 在服务器端执行: jupyter notebook --ip 服务器的Ip地址 --allow-root --n ...
- Hadoop错误之namenode宕机的数据恢复
情景再现: 在修复hadoop集群某一个datanode无法启动的问题时,搜到有一个答案说要删除hdfs-site.xml中dfs.data.dir属性所配置的目录,再重新单独启动该datanode即 ...
- Mybatis_2.基于XML的增删改查
1.实体类User.java public class User { private int id; private String name; private int age; //getter.se ...
- [LeetCode] Binary Tree Pruning 二叉树修剪
We are given the head node root of a binary tree, where additionally every node's value is either a ...
- 社团的CTF逆向题WriteUp
最近社团弄了CTF比赛,然后我就帮忙写了逆向的题目,这里写一下WriteUp,题目和源码在附件中给出 一个简单的逆向:one_jmp_to_flag.exe 这题算是签到题,直接OD智能搜索就完事了, ...
- 关于eclipse的Progress一直跳转的解决方案
下载eclipse编程,发现了一个问题:执行main方法第二次console打印不出数据,后发现Progress一直跳转,而且非常多进度条在运行,关闭后第一次执行没问题,第二次问题重复出现. 有幸看到 ...