南宫体育认识VR开发流程订定SOP

  与各行各业都有密切关联,各行各业的专业知识(如水力发电)与VR技术的结合,可以发展出该行业最简洁有效的标准

  本文先说明VR内容开发的基本流程,然后把这一般流程SOP对应到医疗、物流等各行业,而得出各行业专有的VR开发SOP。再基于各行业SOP展开,对应到各行业单位和开发伙伴的参与活动。最后,制定这些活动的使用工具(如Unity、UE),和产出(物)的标准规格。

  应用软件是VR开发者依循SOP而产出的可运行的软件成品,通常将它上传到应用商店(App Store),让使用者下载到其VR终端设备上运行。在运行时(Runtime),就会呈现VR内容,并与使用者交互(图1)。

  例如《Tilt Brush》3D绘画应用,它是著名的HTCVive应用,可以让您在虚拟的3D 环境下的自由绘画创作。很逼真、身历其境!使用者操作一个2D控制板,按照任何角度去调整和移动整个绘画平面,来画出具有景深效果的各种图形(图2)。

  SDK还包括用于除错及其他用途的软件工具、程序代码范例、支持性的技术注解或者其他说明文件等。

  在游戏开发领域,Unity/UE是最流行的App编辑器,包含一个完整的游戏设计、制作环境和可复用的美术、灯光等素材资源,协助开发者顺畅完成一款游戏App。例如,Google基于该Unity编辑器而附加Cardboard运行平台的新API、相关资源等成为一套工具包,就称为基于Unity编辑器的“Cardboard SDK forUnity“。

  第3步:为了做出第一个VR游戏体验,可在Project Browser中的CardboardPrefabs文件夹里,把CardboardMain Prefab拖到场景中,在Inspector中设定与你的游戏主角一样的位置。这样可以展现出你在看他(主角)的眼睛。

  第5步:最后,在Unity编辑器中试运行,就会出现3D场景了。这时,你的照相机随着头部的运动而进行旋转,您可以左顾右盼了。

  SDK通常包含有App软件框架(Framework)和脚本 的 呼 叫 接 口(API,ApplicationInterface)定义档。开发者可以在App(如Android的Java程序代码)中,通过API来呼叫Cardboard平台上的软硬件资源。以Cardboard 的环绕音频为例,基于Cardboard SDK和API,可以开发令人感到身临其境的VR应用。可以听到来自四面八方的声音,例如天空打雷或者是飞机飞过头顶的声音。

  目前,Cardboard 开放了SDK和API,协助开发者的制作音频。该SDK新的环绕音频功能是很容易上手的。开发者可以呼叫组件来创建Android系统上的音景。Android的Native开发者可以使用一套简单的JavaAPI来模拟虚拟的声音和环境,让使用者就如同在真实世界里所听到来自周遭四面八方的声音。

  通常,从App Store将App下载了就会在VR终端设备的操作系统(OS)上运行,例如移动VR App常见的运行平台是:Android、Windows等。以Google的Cardboard 移动VR为例,这是典型的“Cardboard+手机”简易型移动VR设备。虽然Cardboard可以搭配不同品牌的手机,但是在开发时,使用的SDK会预设其App适用的运行平台(如Android、iOS等不同的操作系统)。

  此外,还有针对不同平台的VR助手。VR助手就如同大家耳熟能详的Android手机助手一般用来协助管理移动或VR终端平台上的App及相关资源,如终端软硬件资源的管理、云端资源的搜索、下载、安装的功能等。

  素材(Material)是用来组合成为VR App的材料,包括美术、声音、灯光、课件文档等等资源。有些素材编辑器与App编辑器是分开的;而有些是两者整合在一起的。大多数编辑器可以导入外来(第三方厂商)的素材。例如,Unity3d编辑器可以导入3dsMAX、MAYA所汇出的.max,.mb,fbx等。此外,从网络上也能下载一些.max和.mb格式的VR素材模型,包括人物、地形素材等。

  一般而言,素材资源是可以跨平台共享的。至于App常常使用到特定运行平台(OS)的SDK和API,是与运行平台息息相关的。尤其是VR产业中,HTC、三星、Google等都各自拥有运行平台和应用商店(图4)。

  App下载了,用户将App运行起来。在运行期间,App会连结到云端的内容分发平台,取得实时性的内容,从VR终端显示出来,这项功能通称为“动态加载”(DynamicLoading)。例如,“VR+教育”的教学App,在其运行时期,可以持续从内容分发平台取得最新的教学课件等(图5)。

  其中的基本需求是:不要将教学课件绑入App里,而直到学生们运行VR App时才到后端分发平台去实时取得教学课件里的素材。那么,在实际的Daydream或HTC Vive平台上,又如何实现这项需求呢? 如果您使用Unity编辑器,最简单的途径就是使用Unity的ScriptableObject技术。我们可以使用ScriptableObject 在 Project view 建立专用的 Asset来做设定,并将它存放在Resources文件夹中。当VRApp运行中,需要用到时才呼叫 Resources.Load()函数来取到设定值,若有任何修改的话,只要打开Project view 内的 Resources文件夹修改一下即可。

  通常,一个行业的VR素材资源是相当多的,而且会时常更新的,这些庞大资源全部绑入App里,并不太合理。于是,就可以进一步将ScriptableObject打包成为AssetBundle。我们的VR App可以掌管主要逻辑或线程,当有需要某些资源(如VR素材),才从外部的 AssetBundle 加载资源,这样我们常常只需要重新打包资源(VR素材)的部分就能完成更新,而不需要重新编译App的程序代码。

  如果您不是使用Unity编辑器,也可采用其他技术,例如运用Android/Linux平台上的*.SO,或者Windows平台上的DLL来实践动态加载功能。

  除了素材之外,在开发流程中,还需要“交互设计师”来设计出符合客户的要求,以及设备系统的需求(图7)。

  此外,还需要“编码工程师”来撰写代码,并添加到素材和App里,才能实现动态的素材和人机互动的行为(图7)。

  在VR设计上,首先要把自己当成一个引导者而不是一个导演。因为传统电影的导演给观众的是一个框框,而的引导者所给的将是一个完整的世界。VR设计师若能依循上述原则,而摆脱按照预定脚本来进行的传统影视制作模式,就能给用户一种令人意外的方式来改变已经构筑好的虚拟世界,即可带来更多深刻的临场感。

  所以,VR的情节是受观众自由选择所影响的,而VR设计师(即引导者)则预先在其中铺设世界观和规则。例如,《Sequenced》是一个“VR+动漫”的应用。提供了全新的体验:让观众可以和动画剧情产生互动。只要你对动画场景中角色、事物的关注与互动,就可能将改变角色的对话内容和引起其他事件的发生。

  《Sequenced》让你沉浸在故事中,完全是下意识的互动,完全忘记了剧情的发展其实是受互动而影响的。然而从体验中,您可以看到其叙述新模式,体会它如何来引导一个VR动漫的情节,并领悟其幕后的互动设计新模式(图8)。

  Allegorithmic公司的平台使用Docker容器来提供连接服务,包括license服务,故障采集服务,和license分析服务;用于开发技术原型,比如一个网页版的Substance渲染引擎。在部署方面,他们使用私有的Registry服务,开发者可以将生产环境中将要用到的镜像拉过去,只要镜像构建(Build)成功了,就能在最终环境中运行起来(图9)。

  在Allegorithmic的开发环境里,还有一个预生产的环节,这里Docker也提供了很大的帮助,大大简化了部署过程,让新成员能够很快上手,也能将设计师或客户的新想法迅速实现出来。

  本文的目的是让您熟悉VR内容的基本开发流程,做为订定各行各业(如军事&救灾领域)专用的VR开发SOP,以便提升“VR+行业应用”的发展速度。在订定各行业专用SOP过程中,常会考虑各行业的特性、既有的技术、想引进的新技术等,决定添加上那些新元素。 例如,我常常会添加Docker镜像(Docker Image)标准,来包装VR素材。一旦引进了Docker镜像元素,对既有的SOP就可能会有些改变,让其更容易管理(因为包装标准化了)。

  1)Docker镜像可以让3D数据模型(如动漫3D素材模型)搭配自己的软件代码Lib(如渲染或数据处理引擎),VR内容的编辑器可以将素材的3D模型与其相关代码Lib打包成为标准的Docker镜像,成为VR的动态(Dynamic)素材。

  2)3D数据模型就如同“信纸”,它含有许多3D数据(就是信纸所记载的内涵);可称之为静态(Static)素材。

  3)VR内容制作时,可将1)数据模型;2) 相关代码Lib;一起打包成为Docker镜像。这Docker镜像就如同“信封”。

  5)这种符合Docker标准的“信封”,对于VR素材/应用的云平台(如VR素材超市)的维护管理是非常有利的。

  6)静态素材如同信纸,动态素材如同信封,素材的云平台(如Docker镜像Registry) 如同邮局,Docker引擎如同邮差。

  7)由于信纸和内容格式可以百花齐放(例如把语句写在枫叶上),只要把它加上程序代码,一并装进去标准信封就可以了。

  8)所以VR的素材开发者可以使用不同的编辑器材编辑信纸、内容和代码,然后打包成为Docker标准镜像(装进去标准信封)即可。

  10)我们不必限制单一的标准3D数据模。


南宫体育