资源简介
Unity3d使用Meth实现温度云图,看了网上有几个使用Shader实现的温度云图,基本都是写死的,并且代码都有毛病出不来效果,所以就用Meth实现了一个,温度点位能动态。行列动态创建,只需要自己给一个数值。创建一个空物体然后附上代码,再把空物体添加MethRenderer和MethFilter即可出现效果,本人亲自调试过,如果有问题可以问我一块探讨。
代码片段和文件信息
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class MethTest : MonoBehaviour
{
public Vector3[] vertices = null; //顶点取样个数
public Color[] colors = null;//每个定点对应的颜色 会自动进行插值
private int[] m_yellow = { 10 11 12 13 17 18 19 20 21 22 25 26 27 28 29 30 34 35 36 37 };
private int[] m_blue = { 0 1 2 3 4 5 6 7 8 16 24 32 40 41 42 43 44 45 46 47 };
private int[] m_Red = { 18 19 20 21 26 27 28 29 };
public Transform jigui_s;
private float Wendu = 50;//设置温度
private float time = 2;
//定义行和列
public int hang;
public int lie;
//行和列的间距
public float hjj;
//定义三角形定点数的数组
public int[] triangles = null;
void Start()
{
DelegeteToUpdate();
}
void Update()
{
time -= Time.deltaTime;
if (time<=0)
{
time = 2;
DelegeteToUpdate();
}
}
void DelegeteToUpdate()
{
Listject> jigui_Name = new Listject>();
List list_pos = new List();
//获取所有机柜的坐标保存到list集合中
foreach (Transform item in jigui_s)
{
Vector3 jigui_pos = item.transform.position;
list_pos.Add(jigui_pos);
}
int tCount = 0;
//三角形数量
int triangleCount = hang * 2 * lie;
//三角形顶点数量
int triangleCountPoint = hang * 2 * lie * 3;
vertices = new Vector3[(hang + 1) * (lie + 1)];
triangles = new int[triangleCountPoint];//三角形的定点索引
colors = new Color[(hang + 1) * (lie + 1)];
MeshFilter filter = gameobject.GetComponent();
MeshRenderer render = gameobject.GetComponent();
Shader shader = Shader.Find(“Sprites/Default“);
render.material = new Material(shader);
filter.mesh = new Mesh();
Mesh mesh = filter.mesh;
//全部画在第一象限
for (int i = hang; i >= 0; i--)
{
for (int j = 0; j <= lie; j++)
{
vertices[tCount] = new Vector3(j * hjj 0 i * hjj);
tCount++;
}
}
int point = 0;
for (int i = 0; i < hang; i++)
{
for (int j = 0; j < lie; j++)
{
triangles[point++] = i * (lie + 1) + j;
triangles[point] = i * (lie + 1) + j + 1;
int a = triangles[point++];
triangles[point] = a + lie;
int b = triangles[point++];
triangles[point++] = a;
triangles[p
- 上一篇:c# / VB 调用refprop.dll
- 下一篇:C#+xm
l通讯录
相关资源
- unity3d BitmapToTexture2D
- c#、unity3d实现远程视频通话源码NN视频
- Unity3D台球游戏源码
- LeapMotion Unity3d C#高精度手控制支持二
- C# FastMethodInvoker
- Unity3D中使用UGUI实现省市区三级联动
- 导向滤波磨皮美颜方法
- 基于unity3D串口通信程序,可以实现发
- Unity3D相机跟随,安卓端屏幕滑动更改
- Unity3D使用GL绘制曲线
- Unity3D 建立本地数据库的demoUnityPacka
- WinForm和Unity3d互操作
- unity3d贝塞尔曲线demo
- 2017年unity3D基础视频
- unity串口通信
- unity3d 产品虚拟交互展示 酒展示
- Unity3D圣典中文手册+API手册
- unity3d 产品交互展示,源码,虚拟现实
- 微信跳一跳小程序源码(Unity3D)
- unity3d 引擎 C# 双端开发实时音视频精
- 坦克大战小游戏源码unity3D
- UnityEngineSourceCode
- unity3d中文api
- Unity3D
- unity3d 实现网络通信
- C# Factory Method 工厂方法模式(创建型
- 反射性能优化 FastMethodInvoker
- 类似梦幻西游小游戏源码(unity3d)
- UNITY3D人物移动且摄像头跟随代码
-
unity3D游戏开发:塔防游戏(Turnba
se
评论
共有 条评论