最终效果图:
radar.png
游戏中难免会展示英雄的各个属性值,雷达图是比较简洁直观并且符合用户习惯的展示方式之一。3D中生成的任何面都是由一个个三角形组成的,要实现图中的效果我们需要在程序中动态生成正五边形面片,我们需要六个顶点(包含中心点)。设中心点O为(0,0),经过x轴的顶点A为(45,0),那么如何根据确定这五个顶点呢?正五边形的顶点必定都在一个圆上,已知半径为R,其余的顶点都是OA向量经过旋转得到,四不四很简单。
向量旋转公式:
x' = xcos(theta) - ysin(theta);
y' = xsin(theta) + ycos(theta);
这里我为大家做好了一个示例:
1.png
1.将radar预置拖到场景里
2.设置顶点数组长度为6(生成五边形),运行看效果,输入任意正整数n,会生成n-1边形
2.png
3.修改其中一个顶点的Z(0~1)值,这时能观察到生成的五边形发生变化
3.png
4.跟底图搭配就能达到完美效果了。
雷达脚本Radar.cs
using UnityEngine;
using System.Collection