【经验分享】用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制作可视化系统方案》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

PHP程序设计

PHP程序设计

勒道夫 / 陈浩、胡丹、徐景 / 电子工业出版社 / 2009-3 / 80.00元

《PHP程序设计(第2版)》是最新版本PHP 5的权威指南,其中包含创建者PHP的创建者 Rasmus Lerdorf的独到的见解。《PHP程序设计(第2版)》以一种清晰而简练的风格介绍了PHP语言的语法和程序设计技术,并通过大量的示例演示了它们的正确使用方法和习惯用法。《PHP程序设计(第2版)》还给出了设计风格提示和实际的程序设计建议,这些将帮助你不仅成为一个PHP程序员,而且将是出色的PHP......一起来看看 《PHP程序设计》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码