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) ...
随机推荐
- spark MLlib collaborativeFilltering学习
package ML.collaborativeFilltering; import org.apache.spark.SparkConf; import org.apache.spark.api.j ...
- CodeForces 630G Challenge Pennants (组合数学)
<题目链接> 题目大意: 有两种旗子,分别有5个和3个,将这些旗子分配给n个人,有多少中方法. 解题分析: 5面A旗子的发放方案为:$[1,1,1,1,1],[1,1,1,2],[1,2, ...
- leetcode刷题第一日<两数和问题>
开始就用到了c++的哈希表是真的恶心,首先学习一波基础知识 https://blog.csdn.net/u010025211/article/details/46653519 下面放下大佬的代码 cl ...
- bulid tools
输入:工程文件+编译说明文件: 处理:自动化构建工具+编译器: 输出:可执行文件. 相对于手动编译. 概述历史上 , 并通过构建自动化Makefile.今天 , 有两种一般类型的工具 : 自动工具 ( ...
- 107个JS常用方法(持续更新中)
1.输出语句:document.write(""); 2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个 ...
- python经常使用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
进行协议解析时.总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上.直接上样例 整数之间的进制转换: 10进制转16进制: hex(16) ==> 0x10 ...
- 如何关闭git pull产生的merge 信息
编辑 ~/.gitconfig [core] mergeoptions = --no-edit 或者终端之行 git config --global core.mergeoptions --no-ed ...
- 音视频下载Chrome插件 官方主页
2019年3月20日前的旧版有不能下载的情况,请使用下面的新版 音视频下载是个点击图标后就能下载网页里正在播放的音视频文件的软件 下载:官方下载 百度网盘 Chr ...
- mysql-cluster集群配置
环境: centos7:192.168.1.16,192.168.1.170 mysql-cluster-community-7.6.8-1.el7.x86_64.rpm-bundle.tar 安装: ...
- jQuery实现图片懒加载
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...