这篇文章的对象是对理解和VR设计开发感兴趣但无法开始的朋友。

为了更具实践性,我们将聚焦于最易上手的平台与技术,包括Google Cardboard和Unity等等,希望能够帮助尽可能多的朋友顺利启程,逐渐体会到构建VR世界的乐趣所在。

如今的VR技术能实现些什么?

盲目的学习总会使人缺失目标与兴趣。我们不妨先来看看当今的一些典型案例,以便对自己有可能做到的或难以实现的目标有所了解。

Giant,一部VR短片,取材于南斯拉夫战火当中的真实事件。在片中,你可以全视角的观看四周的环境,了解故事发展,但无法扮演主动参与者的角色。这类模式的重点在于沉浸式的叙事体验,而非互动娱乐。

Tilt Brush,一款VR绘画工具。通过手持控制器,你可以在3D世界当中全视角的创造和欣赏作品,自由度超高。

Portal: Aperture Robot Repair Vive VR Demo(YouTube)。在时长约5分钟的游戏体验当中,你可以自由的与虚拟世界进行互动、围绕着机器人走动并对其进行维修。游戏打造的很是精细,实际过程也非常有趣,而且体现出了VR在互动式教学方面的巨大潜力,你可以设想将来的解剖学或工程领域以这种方式指导学生学习实践的情景,很多灾难性的后果将得以避免。

Job Simulator,一款屡获嘉奖的VR游戏,你可以在办公室一类的典型环境当中通过非常搞笑的方式完成日常工作和生活里的琐事,很有意思。相比于之前三个案例,Job Simulator提供了最为专注的VR互动游戏体验。

我该怎样起步?

我个人在刚刚开始尝试VR设计开发时,遇到的最大的问题便是“究竟怎样起步?”我需要了解和掌握的技术有哪些?怎样实际测试和体验?工作流程是怎样的?

起步阶段所需用的清单如下:

  • 一部主流智能手机
  • Google Cardboard或同类设备(5至20美金)
  • 一台普通的笔电或桌面计算机(如果手机是iPhone,则需要macOS设备)
  • 个人免费版本的Unity
  • Xcode(如果手机是iPhone)或Android Studio(如果手机是安卓系统),两者均免费

当然,用Gear VR、HTC Vive、Oculus Rift代替Cardboard也完全可行,不过本文的原则在于通过成本最为低廉的方式起步(即将正式发售的Daydream View及Daydream-ready手机也是不错的选择)。

除非你尚未拥有时下主流的手机和计算机,否则全部开销无非几美金的样子;起步阶段所需的相关软件全部免费。

工作流程是怎样的?

实际情况将取决于你所选定的平台和开发工具。不过,作为起步指南,本文将以使用Unity面向Cardboard制作iOS app作为示范。

你需要使用笔电或桌面计算机在Unity中构建3D环境和互动模式。Unity本身是一款游戏引擎,你可以在其中制作2D和3D游戏。免费版本的界面看上去大致如下:

在起步阶段,你并不需要掌握Unity中的脚本编程能力,当然如果具备相关技术则再好不过。关于这一点,我们在后面详细说。

准备将app放入iPhone进行测试时,你需要在Unity当中构建(Build)项目,并通过Xcode打包运行(Run)到手机。在这个环节,当前的Unity和Xcode在衔接配合方面时常会出现问题,可以参考这篇Unity官方指南进行解决。

之后,你的VR app会在iPhone中自动运行起来。此时将手机塞到Cardboard中,戴到头上便可以了。四处看看你所构建的VR世界吧。

如果你拥有编程经验,或是使用过Maya一类的3D工具,那么整个作业流程对你来说不会很陌生。即便没有也没问题,保持学习和实践,你很快就会掌握到一定程度。

怎样学习Unity?

有很多线上教程供你在不同阶段参考学习。

我个人建议首先观看和阅读一些Unity的官方提供的教学视频和文章,以便对Unity的工作方式有一个大致的感知。当然很多朋友更喜欢Treehouse上的教程,如果你想更加全面和系统化的进行学习,Treehouse是不错的选择。

因为我们要在Unity中创建Cardboard(Google VR)项目,所以你需要下载Google Unity SDK,其中包含的范例demo及官方文档本身就是绝佳的学习资源。

作为一款强大的游戏引擎,Unity复杂的功能和界面可能会使初学者心怀畏惧,没关系,跟随着相关的视频教程,你很快便能上手。接下来建议你构想一个最为简单的互动游戏,试着在Unity中进行实践。期间你一定会遇到各种各样大大小小的问题 – 自己去Google,然后一个一个解决掉 – 将目标和挑战逐渐分解到原子层面,在实践中摸索,最后拼合成完整的体系。

正如前面所说,在起步阶段,你并不一定需要掌握编程能力,但如果对C、Jave、C#等语言有所了解,那绝对会帮你加分。如果你在编程方面一穷二白,那么自己去寻找解决方案,将代码复制粘贴到自己的项目当中也完全不成问题,实际上很多开发人员本身也是这样做的 – 别被代码吓住而裹足不前。

怎样了解行业术语和最佳实践?

对于我们多数人来说,VR领域当中充满了陌生的术语与实践原则。

Unity官方提供的VR实践指南给我带来了不少帮助。你也可以在Oculus的文档中找到很多干货,此外有很多个人文章同样极具价值,譬如Timoni West的“UX pointers for VR design”(Medium)、Adrienne Hunter的“Get started with VR: user experience design”等等。建议你多做学习笔记,因为知识量很快会膨胀到需要管理和回顾的程度。

有一点需要特别关注的是3D世界对人脑的影响作用。在自身位置没有产生任何变化的情况下,人们在虚拟世界当中体验到的运动很容易给身体带来不适。所以很多简单的VR游戏会将主角固定在场景中的某个位置,或是对其移动方式进行限制。此外要记得,我们创建的是高度沉浸化的体验环境,我们正在改变人们对于“现实”的感知,你必须对自己所创造的东西负责 – 虚拟世界的运作方式要符合人们在现实中的认知原则,而不只是基于你个人的片面理解或主观愿望。

我需要掌握3D建模能力吗?

在起步阶段,不需要。

当然,如果你有着清晰而明确的想法,希望实现出自己想要的东西,那么是的,你需要学习3D建模。但通常情况下,在刚刚上手时,或是在制作非常简易的小游戏时,你无需自己建模,去Unity资源商店免费下载或购买一些现成的素材就足够了。

如果你希望深入学习建模,那么可以使用Maya提供的免费版本,并参考这套教程。此外Treehouse也有一套不错的资源。

Maya并不是唯一的选择,只是我个人最熟悉而已。你同样可以尝试Cinema 4D或Blender (完全免费)。

还有更多问题?

一定会有。我一直在自己的网站保持学习记录,如果你希望深入学习Maya、Unity以及所有和VR设计开发相关的技能,不妨到我整理的学习资源当中找找看有没能帮助到你的。

我个人强烈推荐在游泳中学习游泳的方式。一开始会无所适从,挑战重重,这很正常。找到适合自己的学习资源,跟随着教程保持学习,你会渐渐的找到感觉。一起试着起步吧,大家。

译文代表原作者观点。欢迎交流探讨。

相关推荐