既然是使用Unity做可视化三维,那么基本的数据可视化效果还有要有的,之后几篇文章会讲解几种温度图效果的实现方案。
之前文章我们也讲了URP的好处,因为我们的所有效果都是在通用渲染管线下使用的。
基本逻辑讲解
效果是基于一个平面Mesh渲染的
每一个温度都保存了一个坐标位置和温度信息
在Shader中遍历所有坐标信息,计算当前渲染点的温度值
不同温度值形成不同的高度和颜色
创建Mesh
public static Mesh CreatePlane(Vector2 scaleSize, Vector2 meshSize)
{
float perxlength = scaleSize.x / (meshSize.x - 1);
float perzlength = scaleSize.y / (meshSize.y - 1);
int totalcount = (int)meshSize.x * (int)meshSize.y;
Vector3[] vertexs = new Vector3[totalcount];
Vector3[] normals = new Vector3[totalcount];
Vector2[] uvs = new Vector2[totalcount];
int[] triangles = new int[((int)meshSize.x - 1) * ((int)meshSize.y - 1) * 2 * 3];
int trianglesindex = 0;
for (int i = 0; i < meshSize.y; i++)
{
for (int j = 0; j < meshSize.x; j++)
{