Unity Labs|可用于VR环境的列表视图框架

本文为大家介绍Unity Labs团队开发的可用于VR环境的列表视图框架,代码和示例场景可以从Unity Asset Store获取,也可从Unity开源Git仓库中获取。

Unity Labs介绍

Unity Labs是专注于研究VR、AR、图形及游戏开发等相关前沿技术的团队。目前Unity Labs最主要的项目就是Unity VR编辑器以及Carte Blanche项目。

Carte Blanche项目介绍

Carte Blanche项目(PCB)是Unity实验室的研发计划,目的是为非技术用户提供VR-in-VR的编程工具。Carte Blanched的核心设计理念主要在于对象与行为的设计,它的一种典型示例:用户可以抓取虚拟的扑克牌,并将其放置在虚拟的桌子上,借助动作捕捉控制器真实地与卡牌互动。

PCB卡牌系统介绍
640.webp
PCB的卡牌系统比传统滚动列表要复杂得多。PCB系统要求卡牌必须能够动态出现或消失,且用户可以触碰到它们。此外,VR应用程序对性能的要求也极其苛刻。还要尽量避免实例化/销毁场景对象,因为这些操作的开销非常之大。最后为了可重用性,外观和感觉上的统一性起见,还需要一套可扩展的解决方案,能够使用其他类型的UI元素制造出相似的体验。
Unity Labs为列表视图开发了一套通用框架作为PCB卡牌系统的基础。代码和示例场景可以从Unity Asset Store获取,也可从Unity开源Git仓库中获取。示例效果如下:
0
Model与View的解耦
本框架的一个设计目标是遵循MVC或MVVM设计模式,将数据的显示逻辑(view)与数据的状态(mode)本身解耦。对于任何一个框架而言,框架本身应自动处理列表当前状态的显示。这种实现下我们只需要考虑数据的当前状态,而不用关心如何处理视图的更新。
框架本身会负责搞定这些列表行的内存分配问题,并在列表元素离开屏幕时回收并重用在接下来要显示的元素上。

文章下二维码15

责任编辑:Catherine
分享到QQ 分享到微信

0 条评论

头像发表我的观点

取消

  • 昵称 *
  • 邮箱 *
  • 网址

登录

忘记密码 ?

切换登录

注册