从0到1开发者如何把创意变成AR内容?

VR陀螺

    文/VR陀螺 来福
    你有没有了解过你正在玩的游戏、使用的手机软件在它还是一个想法时的样子?最近,VR陀螺发现GitHub上一日本青年Satoshi发起了一项挑战,100天体验ARKit开发AR内容、应用,他会将他创建的体验代码上传GitHub,并在推特上实时更新视频和他的一些观点。
    
    图源:VR陀螺
    截止撰稿时,他的体验已经进行了将近2个月,更新到了第44天。通过几天的“侦查”,陀螺君发现了不止Satoshi,世界各地的AR开发者都在推特上分享出自己的AR作品,特别是在苹果ARKit 4.0版本推出基于LiDAR强大能力的各项功能之后,更多新鲜有趣的AR应用如同雨后春笋般冒了出来。
    水波纹?传送门?推特上那些别出心裁的AR应用 
    在翻看Satoshi的推特时,我们误入了“AR开发者的世界”,因为对AR开发有热情的开发者太多太多了。 来自美国华盛顿的Matt Bierner,创造了一个用手触碰任意表面,就会产生水波纹的应用。
    
    图源:Matt Bierner推特
    日本埼玉开发者たぬ福利用基于浏览器的建模工具Three.js,制作了可以让粒子在空间中散开—聚集成指定模型—再散开的粒子特效,并且可以导入Unity。
    
    图源:たぬ福推特
    而另外一个名开发者堀川隆弘是日本沉浸式娱乐研发公司“curiosity-inc”的CEO,也是知名日本搜索引擎雅虎的前软件工程师。他和他的团队在AR开发上面显然有更强的实力,比较吸引人注意的是,他们开发的应用是在A地录制某个人的AR视频,形成文件,再传输给其他人,打开后就可以将这个人录的这段AR视频在B空间中播放,就好像被传送一样。
    
    
    
    图源:堀川隆弘推特
    这种对真人的“传送”,被堀川隆弘的团队用于乐队演出,真的做到了一个人就是一个乐队(虽然效果还有待提高)。
    
    图源:堀川隆弘推特
    除了从最底层开发之外,也有基于APP和硬件的AR内容二次创作。 田中圣吾则是用可以通过手机控制的电动云台Keigan Motor+HoloLens+乐高,实现了对乐高的“隔空控制”。
    
    图源:田中圣吾推特
    Van_eng622和Gaku Kirii则是在Magic Leap中利用空间识别+VFX Graph+粒子特效,将音乐可视化,打造了一场未来音乐视听体验。
    
    图源:Sadao Tokuyama推特
    除了以上案例,还有许许多多来自世界各地的开发者,认真的去研究、分享每一个小小的AR效果。更让我们好奇的是,在这些背后,开发者都付出了哪些努力?通过观察Satoshi的100天AR开发挑战,我们或许能够了解一些。
    从0到1开发者如何把创意变成AR内容?
    在最初,Satoshi的设想希望能基于ARKit制作内容,并能够应用于工作室或者影像制作。方向很明确,但事情似乎没有想象的那么简单。 在第1-10天的更新里,Satoshi大部分时间都在研究AR内容制作工具的相关功能,比如用Uniyt VFX Graph制作一个带有生动粒子特效的面具、新版本的iOS如何实现同时调用一部手机的前后摄像头并同步播放。
    
    
    图源:Satoshi推特
    再利用所学的内容和技术制作一些比较简单的AR效果,比如利用Unity Shader制造出扭曲真实空间、物体的效果,或者用ARKit还原红白歌会YOASOBI组合演出现场的灯牌。
    
    YOASOBI红白歌会演出(图源:红白歌会官方)
    
    Satoshi还原效果(图源:Satoshi推特)
    但像扭曲真实空间、替换人物背景、粒子特效、使用Metal绘制LiDAR扫描结果等等技巧,也为他后面对AR世界的探索打下了扎实的基础。
    
    图源:Satoshi推特
    通过总结,Satoshi的开发有几个方向。 其一, 利用LiDAR和Unity VFX Graph等制作出空间中真实的球体掉落及体积碰撞效果。 最初时,Satoshi只能在真实空间中放置最基础的、不带任何物理效果的粒子特效。但在这一步,他使用了一个关键的工具——SceneKit,简单来说就是用来构建3D场景的工具,通过3DMax,maya等软件,导入场景文件,SceneKit能够帮助开发者快速在AR中构建3D空间。
    
    
    图源:Satoshi推特
    当SceneKit和LiDAR相结合,从平整平面到复杂平面再到立体物体,最终呈现出一个带有空间感、体积碰撞、3D效果的完整的粒子坠落效果——这已经是第31天的事情了。
    
    Satoshi制作的早期粒子效果(图源:Satoshi推特)
    
    中期粒子效果(图源:Satoshi推特)
    
    粒子特效最终效果(图源:Satoshi推特)
    通过他的展示,可以看到只需要在屏幕上轻拍,球体就会自然的在LiDAR所扫描出的空间按照真实世界的物理规则坠落、滚动。可以说,最终呈现的效果还是非常理想的,Satoshi也把工具包上传到了GitHub。
    球体掉落、物理碰撞可能是非常基础的效果,在如今的电子游戏中已经成为业内开发的基础知识,但在AR上独立开发者要实现这种效果首先是需要花费时间和精力,其次就是找到合适的开发工具组合。这样的效果运用在实际的AR内容中,会给AR带来自然的虚拟和真实世界的融合感。
    其二,在虚拟或真实物体上喷涂颜色。
    这是Satoshi在成长之后的想法和作品。最初是在苹果SceneKit Reel Sample的3D模型上实现喷涂。
    
    图源:Satoshi推特
    期间他尝试了在LiDAR扫描的空间中喷涂颜色,不过失败了。
    
    图源:Satoshi推特
    后来他将SceneKit提供的模型和之前的喷涂方法移植做成AR效果:
    
    图源:Satoshi推特
    进一步,他尝试了在此基础上加入了LiDAR,将喷涂的对象转变成真实世界的物体,效果不是很理想。Satoshi希望最终的效果是能够比较精确的喷涂在具体的某个物体上。
    他又找到了自定义SCN几何,研究喷涂的体积碰撞等等。
    
    图源:Satoshi推特
    最终SceneKit+LiDAR+自定义SCN几何三种工具共同作用的效果:
    
    图源:Satoshi推特
    可以看到,能够精确地将颜色喷涂在桌面上具体的物体上,就像真的在用喷射枪射击一样。这个不由让人想到Switch长青游戏《喷射战士》系列,如果能够真正应用起来,那么将会极大丰富AR游戏、AR艺术展的互动方式。
    其三,利用LiDAR识别真实世界并进行“魔改”。 除了在原有的基础上对真实空间的丰富之外,在Satoshi的视角里,AR还可以对真实世界进行“魔改”。
    在最初的十几天里,他就不断地尝试利用Unity制作的效果扭曲真实空间。
    
    图源:Satoshi推特
    但他显然不满足简单的扭曲,开始了魔改之旅。
    一开始是简单的利用LiDAR做出“BlotterMedia(人体光影特效)”,就像很多粉丝在二改偶像演出舞台时会加上一些光电、魔法棒、爱心特效等。在这款AR效果实际应用之后,粉丝就可以直接用手机拍,不再需要后期的复杂制作了。
    
    图源:Satoshi推特
    魔改到这里还是很轻度的,直到他看到了这条推特:
    
    图源:推特
    大致意思就是,如果某个人瞳孔处被挖黑,看久了人会觉得莫名恐惧,甚至产生恐惧的生理反应。 Satoshi表示很棒,于是做了AR特效:
    
    图源:Satoshi推特
    此举彻底解放了Satoshi的天性,开始研究如何在人脸上做点文章,目前只更新到在脸上涂涂画画。 不过他之前有把自己的脸复制了一张镶嵌在自己脸上的行为,并表示很有“艺术气息”,接下来的举动会不会更魔性,只能期待他早日更新了。
    
    图源:Satoshi推特
    从成品看,很多想法不在Satoshi的蓝图上。但在开发过程激发了很多他对AR的奇思妙想,从想法到动手实践再到最终的成品,从他的100天挑战里,陀螺君看到的是,作为开发者,从“0”开始到“1”全部过程的完整呈现。
    而Satoshi所代表的的是大部分独立AR开发者或者小型工作室,他们的特点是有丰富的创意、大量的时间和钻研的精神。他们中的大多数灵感来源于对生活的畅享,在开发过程中不断地去选择合适的工具,将他们组合在一起。再一次次的进行尝试,最终找到能够开发出目标效果的工具组合后,也会分享给其他和自己一样的开发者。
    AR开发者生态雏形已经形成,开发者到底需要什么?
    通过几天的观察,陀螺君发现,世界各地的AR开发者已经在推特上聚集起来,逐渐形成了一个隐形的“社区”。这个社区不以任何互联网社群的形式存在,它更像是这些对AR开发充满热情的独立开发者之间的共同默契。 他们会分享自己的创意、大量的实用开发工具;会在遇到困难时请求其他开发者的帮助;他们会在展示成果的同时,把非常详细且实用的教程分享出来,如果没有教程,就上传自己的开发代码。一些比较简单的AR效果,他们就会分享自己使用的工具和方式。
    根据估算,以Satoshi为中心,日本活跃在互联网上、对AR热情较高的AR独立开发者数量约有2000+人,其他国家也有类似的情况。而由这些开发者的默契构建的隐形社区就是AR开发者生态的雏形,社区中的信息也独立AR开发者身上价值所在。
    据Developer Tech统计,2020年招聘市场对VR/AR开发者的需求激增1400%,有46%的软件工程师将VR/AR列为他们最想学的三大技术之一。这代表着在VR/AR广受关注的当下,开发者数量势必迎来激增,而仅仅靠网上开发者的默契维护社区,将不能保证市场供需关系平衡。所以新的问题是,我们需要一个什么样的社区,同时又如何去维护他呢? 在这次调查中,我们也看到一些开发者的诉求,通过他们的观点,我们整理了一些社区中AR开发者的需求:
    1.  工具的实用性。
    对于开发者来说,好的工具才能让他们发挥自己的价值。上文提到的案例大部分都是基于ARKit开发的,在很多开发者眼里,除了苹果手机和生态的便捷性之外,ARKit实用性更加关键。
    从发布至今,ARKit一共发布了4个大版本更新,而每一次更新的目的都是为了创造更大的开发空间,更好的服务于开发者。
    伴随着iPhone 12 Pro的发布,LiDAR功能以其强大的表现受到了很多关注。除了苹果手机在拍摄方面对LiDAR的应用之外,如何更好的利用iPhone 12 Pro的LiDAR功能,是众多开发者关注的问题。
    而在ARKit 4.0 版本更新中,苹果就在其中加入了基于LiDAR技术的深度API、场景几何、对象放置等功能。简单来说,在此之前的AR只是将虚拟物品放置在空间中,而不体现具体的空间位置,比如被“拦”在水杯后面。更新之后的ARKit,能够更好地解读环境的空间关系,让虚拟物体跟空间产生真实的交互、体现物体与环境的空间关系,从让虚实更加融合。
    这一改动,大大拓展了基于ARKit的开发空间。诸如这样的更新体现在每一次ARKit的版本改动上,它能够服务于开发者,真正成为开发者的实用工具,也是上文案例中开发者愿意积极选择ARKit作为开发平台的原因。
    2. 注重分享性。
    开发者对分享的定义一方面是技术知识的分享,另一方面是灵感的分享。Satoshi在推特中也曾感叹道:“今天,我看了很多AR效果,这(种分享)能够让知识变成文字并被保存在互联网中。我也很高兴提出我想实现、但还没有实现的主意,能够吸引人来模仿是很好的。”
    缺乏分享性实际上是国内开发者社区的“老毛病”了。据了解,在国内开发者社区分享率不到5%,也就是说大部分去浏览诸如CSDN等论坛时,只做伸手党,而从没有想过成为贡献者。 如何构建方便即时分享的社区,如何鼓励开发者进行分享是维护好的社区环境首要解决的问题。
    3. 方便快捷。
    近年来,一些开发工具企业也非常注重维护开发者社区,提供了大量的支持文档和视频、开源代码等等帮助开发者开发。但由于各个工具所处的地区、语言等等都不尽相同,在加载阅读上会遇到不同程度的障碍,甚至一些支持文档入口隐藏的很深,导致开发者在取用时非常麻烦。 所以真正把支持文档做到能够支持开发者开发,也是企业想要维护开发者社区需要重视的问题。
    4. 收入。
    苹果App Store生态之所以能成为“酷”的事情,除了在早期方便开发之外,长久以来对独立开发者的软件推荐机制是保证开发者持续对基于iOS开发充满热情的重要因素。 在前期,客观的收入毫无疑问能够吸引大量开发者针对该平台进行开发。而在中后期,应用数量增多,独立开发的应用越来越难被看到,那么社区合理的推荐机制,能够给予大量开发者被看到的机会,也就是他们稳定的收入保证。有了持续稳定的收入,自然不缺开发者源源不断的涌来。
    5. 运营辅助。
    除了不擅长分享之外,国内开发者群体普遍存在的问题就是不擅长运营,包括推广、产品包装、设计等等方面。也有开发者自嘲说“只会写代码。” 对于开发者社区来说,培养开发者的运营意识,从除产品本身以外的其他维度帮助开发者增加其应用的价值,同样也是社区能够给予开发者的价值之一。
    虽说AR行业精英和专家都认为AR想要真正爆发,是5-10年以后的事情,目前的AR仍然处在技术累积、不断试错的过程中。但实际上,诸如ARKit、ARCore、Unity、Ureal等开发工具已经开始布局AR方面的开发,并且积极鼓励开发者参与其中。这就导致了在手机AR方面,已经积累了一定的开发者群体。
    随着LiDAR的强大功能逐渐被证实,基于手机应用生态的AR应用的爆发是可以预见的。而手机应用生态目前对小型开发者不友好、应用重复混乱等问题已经给我们提供了前车之鉴。现在去思考并着手维护AR开发者,也是在未雨绸缪的保护已颇具雏形的AR内容生态。