Unity数据可视化 温度图效果(一)

本文介绍了如何在Unity中实现基于平面Mesh的温度图效果,包括基本逻辑、Mesh创建、温度数据保存及计算。通过Shader处理坐标信息,根据温度值计算高度和颜色,以展现不同温度层次。提供了C#代码和Shader部分的关键实现,并提到可扩展性,如添加贴图或实现其他类型的温度图。
摘要由CSDN通过智能技术生成

既然是使用Unity做可视化三维,那么基本的数据可视化效果还有要有的,之后几篇文章会讲解几种温度图效果的实现方案。

之前文章我们也讲了URP的好处,因为我们的所有效果都是在通用渲染管线下使用的。

效果视频:https://www.bilibili.com/video/BV1eW4y167bj?spm_id_from=333.337.search-card.all.click&vd_source=53e8eab748d74934d8848b24856aaffbhttps://www.bilibili.com/video/BV1eW4y167bj?vd_source=53e8eab748d74934d8848b24856aaffb#reply118707259744

基本逻辑讲解

效果是基于一个平面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++)
                {
                   
  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
Unity数据可视化是一种将数据以可视化形式呈现的技术,通过使用Unity引擎和相关工具,可以将抽象的数据转化为形、表、动画等形式,使得数据更加直观和易于理解。 Unity数据可视化可以应用于各个领域,如游戏开发、数据分析、科学研究等。在游戏开发中,通过数据可视化可以实现游戏关卡编辑器、角色属性调整面板等功能,开发者可以直观地编辑和调整游戏中的数据。在数据分析领域,使用Unity数据可视化可以将复杂的数据集以表或3D模型的形式展示,帮助分析人员更好地理解数据关系和趋势。在科学研究中,数据可视化可以将科学实验结果可视化展示,有助于研究人员对实验结果进行观察、分析和交流。 Unity数据可视化的实现主要依赖Unity引擎的形渲染功能以及相关开发工具。通过编写脚本代码,可以将数据转换为形或模型的形式,并在场景中进行展示。Unity引擎提供了丰富的形渲染组件和函数库,可以实现不同形式的数据可视化,如折线、饼状、柱状等。同时,Unity还支持动画效果的创建和播放,可以让数据可视化更加生动和有趣。 总而言之,Unity数据可视化是一种利用Unity引擎和相关工具将数据以可视化形式呈现的技术,可以在游戏开发、数据分析、科学研究等领域发挥重要作用。它可以使得数据更加直观和易于理解,提供了更多的交互性和动态性,帮助开发者和研究人员更好地理解数据和进行决策。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值