【经验分享】用Unity制作可视化系统方案

栏目: 后端 · 发布时间: 5年前

内容简介:Unity做可视化无可厚非,特别是3D渲染这块的,解决方案算是比较成熟的了。但如果你是那种各种表格数据的业务系统呢?是不是觉得头大,表格数据这块根本不是Unity的强项,而且考虑到Unity可以用的UI库,各种局限。网络上搜了一通,得出一个似乎可行的办法:

Unity做可视化无可厚非,特别是3D渲染这块的,解决方案算是比较成熟的了。但如果你是那种各种表格数据的业务系统呢?

是不是觉得头大,表格数据这块根本不是Unity的强项,而且考虑到Unity可以用的UI库,各种局限。

网络上搜了一通,得出一个似乎可行的办法:

Winform开发(至少数据表格这块可以很轻松解决了),那么3D展示这块呢?使用DirectX,或者嵌入Unity3D的模块(当年的UnityWeb)。

用DirectX还能理解,但是用UnityWeb?一个已经停止维护的功能?还是旧版本。

于是取巧的方式,就是当需要渲染3D模块的时候又调用命令打开一个Unity开发好的EXE,然后获得窗口句柄控制窗口的显示和层级。

我祭出当时用的解决方案:

https://github.com/U3DC/Unity-Winform-Solution

是不是很别扭?

肯定啊~

那还有更好的解决方案么?

必须有~

回过来说,我们必须根据当前人员的技能配备来考虑技术选型,不然项目很大可能陷入持久战,周期越长,越可能走偏。

比如,团队里前端主力是Unity,搭配C#/C++服务端,和几个美术(模型、UI)。

这完全就是游戏向配置啊~

那怎么走?

1.前端主要框架由Unity实现,这种偏业务的系统,比较重UI,选择一个UI框架会让这个事情更加流畅。

2.后端工作比较重头了,所有的数据都在后端这边跑,由前端(unity)发起请求,后端响应并反馈。

3.这是重点---> 前端实现时,把所有数据方面的图显示模块预留出来,这里,我们使用网页嵌入,选择一个合适webview插件,或者自己基于开源内核封装也可以。

4.注意:业务层的东西比如图标数据,在3D场景里本质就叫2D的UI页面。这样就很好理解了吧,有了webview,我们就可以让图表那些更加的灵活。前端也不需要为实现那些图表效果而掉光了头发。

5.前端数据依赖于后端,前端主要负责两方面:一是3D方面的显示与操作。二是业务数据的请求和响应显示。而服务端则要处理数据的计算,还有图表页面的处理。

总结:

我们当时在做这个3D可视化业务系统的时候,绕了大弯子。当然主要问题是局限于如何用Unity做出需要的各种表格数据还有图表(雷达图、柱状图、趋势图)等等。其实完全可以换一种思路,就是让这一块独立出来变成内嵌的模块。就像一开始说的那个方案:用winform内嵌unity3d的web模块。

当然,那个项目远不止涉及到这个图表的问题,还有接入海康、大华那些监控的实时流数据,并显示在Unity的项目里。这又涉及到RTMP协议的一些东西了。这些后续有时间再做分享吧。

有更好想法的朋友,也欢迎给我留言~


以上所述就是小编给大家介绍的《【经验分享】用Unity制作可视化系统方案》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

群体的智慧

群体的智慧

[美] 詹姆斯·索罗维基 / 王宝泉 / 中信出版社 / 2010-10 / 33.00元

《纽约时报》榜首畅销书,《商业周刊》《福布斯》杂志最佳商业图书 21世纪商务人士必读书,了解群体智慧时代的决策模式 告诉我们如何过日子、如何选择领导人、如何做生意以及如何思考这个世界 我们当中的大多数人,不论是选民还是投资者,是客户还是经理人,似乎都相信宝贵的知识掌握在少数人手中,认为精英们做出的决策更加聪明,很少有人相信“乌合之众”也能像专家那样做得如此出色。 但《纽约客......一起来看看 《群体的智慧》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具