游戏中简单的属性界面雷达图


半透明的设置
更改材质里面的Rendering Mode为Transparent 然后更改透明度

更改半径大小可达到效果
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Radar : MonoBehaviour
{
[Range(5,10)]
public int cirCount = 5;
//半径
float r = 5;
[Range(6, 15)]
public float r1;
[Range(6, 15)]
public float r2;
[Range(6, 15)]
public float r3;
[Range(6, 15)]
public float r4;
[Range(6, 15)]
public float r5;
void Start()
{
}
void Update()
{
DrawCircle();
}
//画圆
public void DrawCircle()
{
//获取网格组件
MeshFilter mf = GetComponent<MeshFilter>();
Mesh ms = new Mesh();
//顶点数据 画圆
List<Vector3> vectList = new List<Vector3>();
//圆圈的原点
vectList.Add(new Vector3(0, 0, 0));
var angle = (2 * Mathf.PI) / cirCount;
// 0 1 2 0 2 3
for (int i = 0; i < cirCount; i++)
{
float curR = GetR(i);
vectList.Add(new Vector3(Mathf.Sin(angle * i) * curR, Mathf.Cos(angle * i) * curR, 0));
}
ms.vertices = vectList.ToArray();
//点的顺序
List<int> trList = new List<int>();
for (int i = 0; i < cirCount; i++)
{
trList.Add(0);
trList.Add(i + 1);
if (i == cirCount - 1)
{
trList.Add(1);
}
else
{
trList.Add(i + 2);
}
}
ms.triangles = trList.ToArray();
mf.mesh = ms;
}
public float GetR(int index)
{
List<float> rs = new List<float>()
{
r1,
r2,
r3,
r4,
r5
};
return rs[index];
}
}