如何优化HTC Vive的开发流程?

原文转自:
基於的有机次序(Organic Order)

  -- 以素材平台为例 

  -- 建置技术&实务
  • 阐述如何调整HTC Vive开发流程,来满足的巨大需求。

  • 从基于游戏的古典开发思维,更上层楼进入开发思维。

  • 在HTC vive平台上,开发者的思维还停留在VR游戏上,但VR行业应用开发潮流已经超越游戏思维的范畴了。

  • 开发者必须站在非游戏行业的需求来优化其开发流程,才能正确有效地开发出

  • 也能加速HTC Vive在游戏之外的广泛行业应用与发展。

  • 传统开发流程的误区在于:许多HTC Vive开发者把U3d上的Artificial素材,与行业(专业)的Real素材混在一起。

  • 此外,也把Real素材的行为代码,混淆在U3d引擎的script里,绑死了行业ReaI素材的成长与新陈代谢,阻碍了业主的创新和成长。

Part-1、认识 A素材 vs. R素材

  • VR素材可分为两类: 第1类是App开发阶段使用到的美术、动画、灯光、声音等资源,这是做游戏者最关注的素材

  • 我们常称上述第1类素材为: 人为素材(Artificial Material)

  • 且称第2类素材为:真实素材(Real Material)

  • 在VR游戏体验应用上,两类素材区分并不明显。但在VR行业应用(如VR教育)的开发上,明确区分两类素材,就很关键了

  • 兹拿家中的水龙头来做比喻:VR App是水龙头

    如何优化HTC Vive的<VR+行业应用>开发流程?_第1张图片
    image
  • 而人机介面(UI)是水龙头(App)的手把部分

    如何优化HTC Vive的<VR+行业应用>开发流程?_第2张图片
    image
  • 从水龙头的比喻,让我们轻易联想到第2类素材: 从水龙头流出来的ㄑ水〉资源

如何优化HTC Vive的<VR+行业应用>开发流程?_第3张图片
image

Part-2、****以********为例

  • 在〈VR+教育〉行业应用中,从水龙头流出来的〈水〉才是用户真正需要的内容(和素材)

  • 例如,VR App在终端头显上执行时,会不断地从云瑞(分发平台)下载最新的教学课件(如肖邦钢琴乐谱、MRl扫描的癌细胞3d影像模型) ,然后从VR头盔屏幕顕示出来

  • 这些从云端(水库)取得,并从头盔App(水龙头)显示出来的课件内容(水),就是第2类素材:Real素材

  • 若缺乏3D形式的Real素材,而只有Artificial素材,可做VR游戏,但对ㄑVR+教育〉并无意义

  • 这些课件都是含有老师专业知识的,属于R素材(即Real素材)

Part-3、****以********为例

  • 如何让VR贴进生活呢?

  • 人们体验了VR虚拟世界之后

  • 总会产生欲望想透过虚拟操作,来改变生活周遭的真实事物

  • 例如医生,总是想透过提升他手术(改变真实)的精效

  • 因此,如果在<Real素材>不能做到极致的RV(Reality Visualization)

  • 将大大降低医生、患者的VR体验

  • VR也远离了人们的生活

  • 所以,像淘金客一样,用心寻觅探堪那里蕴藏了扎实专业的3D <Real素材>,是VR团队获利策略的重要环节

Part-4****、****R****素材与****App****之关系

  • R素材与App之关系就是:水与水龙头之关系

  • App是水龙头;R素材是水;R素材平台是水库;Internet是水管

  • 例如,MCU(台北銘傳大学)所研发/创造的知识内容(课件),其实就是VR的R素材

  • R素材(课件)是用户在全球各地教室里执行App时,实时从素材平台下传,从App显示出来

  • MCU的R素材随时创新、实时呈现在全球各教室

  • VR App只不过是一种新潮而多样化交互的水龙头

Part-5****、****R****素材与****App****开发流程

  • 上述MCU大学的课件是实时存取的,也就是,不能绑入VR App的

  • 这些课件都是含有老师专业知识的,属于R素材(即Real素材)

  • 因此,R素材是实时(云端)存取的,不能绑入VR App的

  • 所以,正确的VR教育项目开发流程,应该是:

如何优化HTC Vive的<VR+行业应用>开发流程?_第4张图片
image
  • 反观,许多VR项目开发流程(如下图),并不适合于

    如何优化HTC Vive的<VR+行业应用>开发流程?_第5张图片
    image
  • 例如,一个不合理的唐诗/宋词的VR教学内容(App),其制作流程是:

如何优化HTC Vive的<VR+行业应用>开发流程?_第6张图片
image
  • 其将唐诗/宋词等的R素材与美术/音效等A素材(即Artificial素材)混合在一起,统统绑入App里

  • 把唐詩綁入App裡,對將是災難的開始!

  • 一旦MCU師生對唐詩有創新吟法,R素材新陳代謝了,各硬件平台上的唐詩VR App必須全部重新編輯、上傳、用戶下載、安裝。時間、成本不堪想像!!

  • 所以,应该改变唐诗/宋词的VR教学内容(App)的制作流程,如下:

如何优化HTC Vive的<VR+行业应用>开发流程?_第7张图片
image
  • 其实,MCU课程内容都是R素材,都不宜绑入HTC vive APP、三星APP、FB APP等

  • 在学习VR知识体系时,对内容(Content)、应用(App)、款式(Pattern)和素材(Material)等基本概念必须明确分辨

  • 内容(Content)是泛称,其分为3个层级:大颗粒的应用(App)、中颗粒款式(Pattern)和小颗粒素材(Material)

  • APP主要是Ul交互的A素材和脚本程序代码

  • APP程序代码会呼叫硬件平台的API,才能驱动手柄、头盔交互,所以App是Platform-dependent

  • 一旦把MCU的课程内容(R素材)绑入APP里,MCU课程内容就无法跨平台了

Part-6****、****R素材库反映了真实自然界的有机次序(Organic Order)

  • 完整的R素材是一个阴阳融合的整体,也就是阴仪(行为)和阳仪(构型)整合为一的,表达自然界事物的本质完整性

  • 使用的时候,素材设计师或App开发者,从R素材库取出其构型(3D的几何图形)时,也同时带出其行为(专属的软件代码)

  • 例如,下图只有阳仪,只有构型部分而没有行为部分,通称为<静态(static)素材>:

如何优化HTC Vive的<VR+行业应用>开发流程?_第8张图片
image
  • 把这构型专有的阴仪(行为代码)搭配上来,再由计算机运行这代码(Code),就可产生(动态)行为了,通称为<动态(dynamic)素材>:
如何优化HTC Vive的<VR+行业应用>开发流程?_第9张图片
image
  • 在VR里,每一个原子素材都可以是完整的、动态的。全世界的设计师们可以轻易上网,到R素材库里拉出一个氧原子(O),和两个氢原子(H),不需要U3d编辑器,任何计算机都可以运行其专属的代码,而在VR头显上呈现出氢、氧原子的动态行为

  • 然后VR设计师将上述三个原子层级R素材,组合起来成为一个水分子,也就是一个分子层级的新的R素材

  • 此时,设计师开始制作水分子的构型(3D的几何图形),也设计水分子的各种行为(如流动、波动、反光等),接着就由码农(Programmer)以计算机语言(如C++)来编程,撰写出这些流动、波动、反光等行为代码

  • 最后,水分子的构3D构型与行为代码,组合为一,就是一个完整的、动态的水分子VR动态素材了

如何优化HTC Vive的<VR+行业应用>开发流程?_第10张图片
image
  • 这样的R素材库就反映了真实自然界的有机次序(Organic Order)

Part-7、Organic Order:以为例

  • MCU(台北铭传大学)的知识内容(如课件),是VR的R素材(即Real素材)

  • 例如,360全景视频或3D模型课件素材,都是3D的R素材。前面已经说明过了,其结构是:

如何优化HTC Vive的<VR+行业应用>开发流程?_第11张图片
image
  • 例如,在MCU素材平台上有个<课件>,它是由1个mp4视频和2个ppt档案所组成
如何优化HTC Vive的<VR+行业应用>开发流程?_第12张图片
image
  • 我们很容易建立一个动态的mp4素材结构:
如何优化HTC Vive的<VR+行业应用>开发流程?_第13张图片
image
  • 再建立一个ppt动态素材结构:
如何优化HTC Vive的<VR+行业应用>开发流程?_第14张图片
image
  • 接着,就组合出分子层级的<课件>素材了,如下:

    如何优化HTC Vive的<VR+行业应用>开发流程?_第15张图片
    image
  • 于是,课件动态素材与MCU素材平台的档案之间的关系是:

如何优化HTC Vive的<VR+行业应用>开发流程?_第16张图片
image
  • VR App可以透过课件素材,调用素材的代码函数来间接取得素材平台的视频或档案
如何优化HTC Vive的<VR+行业应用>开发流程?_第17张图片
image
  • R素材库反映了真实MCU知识领域的有机次序(Organic Order)。

Part-8****、****深入领悟R素材的本质及有机结构

  • 大家都知道,VR的"R"是真实之意,VR常常要反映出真实

  • 什么是真实? 例如,一位患者身上癌细胞的现况是真实

  • 一个癌细胞R素材,是由一群分子层级R素材,所构成的<更大层级>的R素材

  • 在R素材库里,一个癌细胞R素材也含有它的3D构型(阳仪)和行为代码(阴仪)

  • 癌细胞的构3D构型与行为代码,组合为一,就是一个完整的、动态的癌细胞R动态素材了

  • 本来自然界里的每一项素材模型,都含有它本质性(Essential)、不可分割性的元素。这些元素可分为两种:1)结构性(Structural)元素;2)行为性(Behavioral)元素

  • 例如,孙悟空模型本质上,就含有上述两种元素:1)形式(结构)上像猴子;2)动作(行为)上有72变,会腾云驾雾

  • 再如,仙劍游戏里的一把剑模型,本质上就含有两种元素:1)剑的形式(结构性)--- 大小、颜色、长相等;2)剑的变化(行为)--- 特殊的形状变化节凑、颜色闪亮的韵律等

  • 上述的行为面(行为性)的元素,必须以软件代码表示,用来指示电脑执行才能呈现出来

  • 一个素材的结构性要素和其行为面要素,就像太极的阴阳两仪,密切不可分的。可是,VR设计师常常把行为抽离了,设计师也用心<设计>素材的行为,但是不会写软件代码来<表现>素材的行为

  • 这编写代码的工作就转交给码农(Programmer)了,码农就把各式各样素材专有的行为代码混杂在一起写成U3d或Browser的脚本(Script)。有些则写成独立的软件工具,然后摆在软件的Lib库里,所以在表达上、储存上,太极的两仪是分离的,非常难以无缝重组回来

  • 于是,R素材库失去了素材本质性的有机次序(Organic Order)。R素材库很可能逐渐变成一只难以驾驭的恐龙了

  • 自然界里,除了原子级别的素材,还有分子级别的素材,然后才有化合物层级的应用物品。无论是任何原子层级的素材,都有其结构(电子、质子等)和行为(电子、质子相吸和运行)。一样地,分子层级的素材也都有都有其结构(如H2O等)和行为(共价相吸)

  • 关键的问题是:VR设计师在原子级别就把行为面(代码)抽离了,表达和储存分离了。VR设计师和工程师,就无法将原子层级素材组合成为分子层级素材了

  • 理由是:分子的行为常常是由原子行为所组合的协作性(Collaborative)行为,如果在素材库里只能找得到原子的构形(阳仪),却难以找到它专属的代码(阴仪),就无法建构出分子层级的素材了

  • 这种分子层级的素材,在服饰业、和建筑业里,通称为款式或样式(Pattern),而在软件上,则称为模式

  • R素材库只要有由分子层级的R素材(资源)。就能有效表达自然世界、或虚拟世界里阴阳融合的有机次序,在井然有序中无限繁荣了

Part-9****、****Real素材包装的标准化策略

  • Real素材包装,如同〈信封〉的标准化对管理者的获利就很关键
  • 换句话说,R素材本身(信纸)百花齐放; 而R素材的包装(信封)力求标准化,才能支撑VR获利商业策略
  • 宜采ㄑVR+Docker〉素材标准化和动态化,以强力支撑VR素材共享复用而获利。
  • 參考:<>

Part-10、<红绿灯>的范例

  • 例如,浙江的义乌是全球著名的小商品城。义乌厂家数以百万计的所有产品的3D模型都是VR App的R素材

  • 因为R素材常常就是2B(to B)客户的产品的3D模型,它是客户随时创新、改版、新陈代谢的

  • 不宜把它们绑死在U3d里,它们(即R素材)的行为代码也不宜写入U3d脚本里

  • 许多人开发HTC Vive内容时,并没有仔细区别这两种素材,VR App反而绑死了客户的产品新陈代谢!

  • 例如,义乌VR电商平台,其中有一项产品是:<红绿灯>产品

如何优化HTC Vive的<VR+行业应用>开发流程?_第18张图片
image
  • 大家都知道,红绿灯产品里的每一颗灯都有其<3D结构>和其专属<行为>,其行为包括 <亮>与<熄>两项行为
  • 将3个灯组合起来,成为一个<红绿灯>产品,这整体产品有其<专属的行为>,包括:亮绿灯,之后亮黄灯,再亮红灯
  • 过去,不正确的作法是:
如何优化HTC Vive的<VR+行业应用>开发流程?_第19张图片
image
  • 未来5年内,VR硬件平台仍然会百花齐放,各平台的API都是不一样的。上图里将<红绿灯>行为代码绑入App里,与硬件平台API混杂在一起
  • VR App这几年内都不可能跨平台,上图还让红绿灯产品(也是VR的R素材)的代码也不能跨平台
  • 素材或产品不能跨平台,也不能跨App,就无法发挥素材的复用性(Reuse)了。所以针对不同硬件平台,都必须重新写一遍素材的行为代码,且绑死在特定平台的App里。
  • 由于各平台上的VR App里都有遍素材的行为代码,也就是素材的行为代码被任意散布于各App里
  • 一旦义乌的<红绿灯>产品改版了,其行为有一些改进,行为代码也必须修改。此时,灾难就发生了:所有含有原来行为代码的App,统统必须重新改写代码、重新编译、重新发布、和下载安装。其耗费的人力、时间都是难以估计的。所以,宜改为正确的做法:
如何优化HTC Vive的<VR+行业应用>开发流程?_第20张图片
image
  • 于是大家可遵循美好的法则:1) 红绿灯的构型与行为合而为一,不要分离; 2)只把代码的API绑入VR App,不要绑入代码本身;3) 也不要将红绿灯的构型绑入App,而直到用户运行VR App时才到伺服端实时取得红绿灯素材。这样就一切OK了。
  • 關於API,請參閱:VR行業平台的框架API設計。

你可能感兴趣的:(如何优化HTC Vive的开发流程?)