其他
Unity Labs|可用于VR环境的列表视图框架
Unity Labs是专注于研究VR、AR、图形及游戏开发等相关前沿技术的团队。目前Unity Labs最主要的项目就是Unity VR编辑器以及Carte Blanche项目。Unity Labs团队介绍请看:
https://v.qq.com/txp/iframe/player.html?vid=x0328i7anef&width=500&height=375&auto=0
Carte Blanche项目(PCB)是Unity实验室的研发计划,目的是为非技术用户提供VR-in-VR的编程工具。Carte Blanched的核心设计理念主要在于对象与行为的设计,它的一种典型示例:用户可以抓取虚拟的扑克牌,并将其放置在虚拟的桌子上,借助动作捕捉控制器真实地与卡牌互动。概念视频:
https://v.qq.com/txp/iframe/player.html?vid=f0328rv3l6d&width=500&height=375&auto=0
PCB的卡牌系统比传统滚动列表要复杂得多。PCB系统要求卡牌必须能够动态出现或消失,且用户可以触碰到它们。此外,VR应用程序对性能的要求也极其苛刻。还要尽量避免实例化/销毁场景对象,因为这些操作的开销非常之大。最后为了可重用性,外观和感觉上的统一性起见,还需要一套可扩展的解决方案,能够使用其他类型的UI元素制造出相似的体验。
Unity Labs为列表视图开发了一套通用框架作为PCB卡牌系统的基础。代码和示例场景可以从Unity Asset Store获取,也可从Unity开源Git仓库中获取。示例效果如下:
框架本身会负责搞定这些列表行的内存分配问题,并在列表元素离开屏幕时回收并重用在接下来要显示的元素上。
更为具体的技术实现细节请猛戳[阅读原文]访问Unity官方中文社区阅读!
List View框架现已发布至Unity资源商店,一同开放的还有Unity BitBucket官方账号的开源Git仓库。本文的框架是Carte Blanche项目资源包的首个模块,其他的模块将会陆续地以同样地方式对社区公布。
本框架可以归结为三个C#类:ListViewController(以两个文件存在),ListViewItem与ListViewItemData。这些类用来控制并处理鼠标与触摸的输入以及列表需要显示的数据。在处理游戏手柄,UI,手势输入或VR设备时这些类也能让开发者很方便地完成需要的特性。在PCB的例子中,列表视图的控制是通过手势追踪控制器来实现的。
更为具体的技术实现细节及代码下载请猛戳[阅读原文]访问Unity官方中文社区!
本文简单为大家介绍了Unity Labs团队以及他们正在做的项目,并提供了非常实用的可用于VR环境的列表视图框架。此前我们也分享了不少Unity官方制作的插件,后面也会陆续推出更多Unity实用工具及插件等。请关注Unity官方中文社区!
更多Unity官方提供的免费插件请看:
备受行业瞩目的VR/AR行业大会Vision VR/AR Summit Asia 2016即将在北京召开(轻触图片了解详情)!