基于UIWidgets的Unity应用开发(一)

       Unity的UIWidgets这款插件是类似flutter语言的移动UI框架,这个插件是基于UGUI来实现的,但渲染逻辑基本是另外一套。跟UGUI不同的时,UIWidgets能只使用一个Image组件类动态或静态加载的方式创建十分酷炫的UI效果,而且官方也用UnityConnect证明了能用Unity这种3d开发的引擎来开发效果相当不错的跨平台移动端的APP。

       网上也有不少开源的UIWigets项目,包括我这种从来没接触过flutter式开发的菜鸟,也是在看了siki学院的凉鞋老师的教程后才对UIWigets有了初步的了解。我在看了大多数人的博客后,总结了下大家对这个插件的看法。

首先是优点

1.兼容跨平台开发,一套代码能复用多个平台。而且经过测试后 发现UIWidgets能在windows webgl ios android这四个平台发布的效果都是相差无几

2.性能消耗低,因为只是使用UGUI的一个Image来渲染UI,drawcall相当的低 而且在界面变化时drawcall的变化也在容忍范围内

3.可以用C#开发类dart语言 这个可能也算不上优点 因为我第一次看到代码时还以为打开错项目了 里面的语法跟C#的差别太大了!

当然缺点也相当明显

1.没有官方文档!没有官方文档!没有官方文档!虽然让人意外的是这款插件居然是国人开发的,但在github上居然只有简单的配置介绍,并没有语法文档!万幸的是里面的语法几乎跟flutter差不多,可以照着flutter的官方文档来慢慢摸索。

2.类flutter开发 没想到这是UIWigets的缺点 因为UIWigets是仿Flutter式开发,但flutter也是这两年活跃起来的,版本更新得十分快,可定制的东西也多,但UIWidgets这边的更新明显是跟不上,就拿打开网页界面来说,flutter能直接打开一个webview,但unity本身是没有浏览器模块的,只能调用第三方的webview插件(我听官方的开发者说已经在开发UIWidgets内置的webview了 期待中)

3.开源项目少 使用的人不多 这点相当致命 而且我在找了一两个月的资源,发现比较成熟的开源应用就两个,一个是官方的UnityConnect,一个是UIWidgets官方的demo,敢开发上架应用得多大的勇气啊。。。

       虽然是缺点相当明显,但个人还是相当看好这款插件的,毕竟效果是真的炫酷,而且unity来开发有UI框架的app对unity开发者来说相当吸引,毕竟又多了一门新技能。但在学习了一个来月的UIwidgets,发现网上的相关教程基本都是UI界面的语法,路由设计,效果实现这些。因为官方没有出文档,看这些确实能够学习不少C#上的使用方法 但个人认为如果是真想学的话,对着flutter的官网文档一点点摸索的话也是能够学会使用的。现在真正缺的是在真机运行的界面适配,显示差异还有稳定性等这之类的。

        虽然说flutter的跨平台性是一大特点,但unity本身的一大特点就是支持跨平台开发啊,那UIWidgets的优越性就应该是不仅仅能在跨平台做出好看的UI效果,而且还能使用UI跟3D界面进行无缝的代码开发跟使用上的丝滑的交互操作,个人认为这点才是戳中了unity开发者的软肋,但网上很少有介绍使用UIWidgets进行UI+3D交互的教程,即使有也是能在编辑器上跑通了,但真机上各种渲染问题(虽然也有可能是我的问题)

        我摸索UIWidgets也有两个来月了,最近也胆子肥了,用UIWidgets跟ARFoundation来实现了一个AR交互的应用,除了3D的ui,基本的UI界面都是使用UIWidgets来实现,碰到的坑也不少,有的靠flutter文档解决了,有的取巧绕过去了,有的请教官方的开发者解决了,也有现在还没解决只能先放着的问题。在这里就想做个笔记来记录一下,以后再次使用起来回忆方便查看,如果能帮到一些同志们,那就再好不过了:)

猜你喜欢

转载自blog.csdn.net/ssssssilver/article/details/107288189
今日推荐