VR老司机教你跳过VR设计与开发路上的各种坑

vr之星  于 2017-8-9 16:06:07 回帖奖励 |阅读模式
0 991

我有幸参加了2015年的Google I/O大会,并领到了一个免费的Cardboard。回到家,戴上这纸盒遨游了那么一阵子,我便开始为VR世界所着迷。怎样才能投身于这个全新的技术领域?我思考起这样的问题,只是看不到明确的答案。在这之前,我从没想过自己会涉足游戏设计或3D建模一类 – 这些对我来说有些遥不可及,听上去就让人觉得有些惊悚,像是要光着脚板去爬山一样的感觉。不过话虽如此,总还是要去尽力尝试才好,于是我走上了VR设计的探索与学习之路。

据我当时所了解,Unity 3D应该是时下最为主流的设计引擎了,于是我下载了一套免费的个人版本,开始摸索。不过程序一启动,我就被界面吓到了,各种面板和窗口,无数参数选项,满眼都是功能,完全不知如何下手。我突然开始理解为什么有很多同行刚一开始尝试就决定放弃了。我需要重新思考一下。

我决定后退一步,寻找一种更适合自己的学习路线。接下来的道路很漫长,我逐渐摸索,在VR设计与开发的研究上花费了几个月的时间,期间还做了个demo出来。本文便是我一路自学下来所得到的一些经验与感受。

1. 明确目标,有的放矢

在我看来,作为设计师,在投身于VR领域时所要面对的最大障碍就是“我该从哪里开始?” 确实有很多人在问着这样的问题,我个人能给到的建议大致如下:

首先,互联网上有着海量的教程资源,譬如“怎样打造终极VR弹珠游戏”等等。你可以选择一些面向初学者的视频教程从零开始跟着做起。整个过程中,你会学到譬如Unity方面的很多基本操作方法,同时也会对制作游戏所需的特定技能有所了解。如果一切顺利,最后你还能搞出那么一两个可运行的小demo出来。这种方式可以有效的帮你建立起直观认知,使你在体验着VR设计开发方式的同时还能掌握一些最基本的知识与技能。不过,如果你从一开始就有着很特定的目标,那么你可能不太想在那些几乎不相关的教程项目中花费时间,例如什么弹珠游戏一类。

如果你已经很清楚自己想要打造怎样的东西,那么寻找一些更具针对性的教程或案例显然是最合理的。不过即便如此,如果你和我一样其实都是完完全全的新手,那我还是建议你首先找一些Unity基础教学视频来跟着做做看,你至少需要了解怎样使用界面,怎样摆弄那些3D元素。只有掌握了最基本的操作方法,你才有可能去创造自己的互动世界,向里面添砖加瓦;在实践期间,还会有各种问题与挑战等着你去面对。

无论采用怎样的方式进行学习,在开始之前都要首先明确自己的动机与目标。只是对VR有所好奇?还是想实际体验VR设计开发流程以决定将来是否要真正投身这一领域?或是有着清晰的产品概念希望实现?实际目标将决定着你的参与方式。此外,刚开始时步子不要迈的太大,控制好每个阶段的学习范围,否则你很容易吃不消。

2. 做好打持久战的准备

明确了目标并制定了学习计划,接下来你还需要培养自己的耐心,做好打持久战的准备。游戏开发平台并非一朝一夕便能轻松掌握的东西,尤其是在缺乏相关基础技能的情况下;而且即便只是去阅读和学习VR发展历史及设计原理也绝不会令你感到轻松。

学习过程会充满困难与挑战,你需要规划出越来越多的业余时间来投入其中。跟随着视频教程去学习和实践可能会花费你几周甚至是几个月的时间。在某些阶段,你或许会感到无法坚持下去。别沮丧,合理的分配好时间与精力,最终你会发现这些努力都是值得的。

3. 学会获取信息

互联网上有足够多的信息可以帮助我们学习技能、解决问题,前提是你必须知道到怎样去获取这些资源。我在需要帮助的时候通常会去YouTube、Google或是Unity的社区。但在实践当中,你往往会发现一个关键性的问题:“我到底需要找些什么?” VR设计与开发的话题范围太大,而且在如今这个探索阶段,很多问题没有统一而明确的答案。

需要哪些信息,怎样获取这些信息 – 要明确这些问题,本身就不是一件易事。总的来说,视频教程是非常有用的资源,而当你在面对一些特定的问题时,相关的社区论坛通常能为你提供帮助。有时你能顺利的找到答案,而有时又会发现更多问题。必须做好心理准备 – 在大家都在摸索和试验的阶段,我们很有可能搞不清问题是什么,更不用说答案在哪里。

4. 过滤信息,整合解决方案

你尝试一点点缩小着问题的范围,却依然有可能发现难以通过同一个渠道找到完整的解决方案。这确实会让人感到沮丧和无力。造成这种情况的原因之一,就是在当前这个阶段,业界还缺乏统一的VR标准及最佳实践模式。你千辛万苦寻找到的答案或许只能帮你解决一小部分问题,有些信息可能也早就失去了时效性,例如针对旧版本软件工具或硬件设备的讨论等等。但这一类信息并非完全无用,进行必要的思考和判断,你仍有可能从中学到一些东西,不要轻易错过。

要得到最适合的解决方案,你可能需要在不同的地方搜集信息,从中提炼出你真正所需的,然后围绕着自己的需求进行整合。整个过程离不开充分的思考与足够的耐心,有时可能还需要一些发散的创意思维。

5. 保持聚焦

探索性的学习过程很容易让人感到迷失,保持聚焦是关键。我在刚刚开始学习的时候,花了太多时间去学一套教你制作地形与植被光影的教程;一两天之后我才意识到这根本不是我眼下最需要掌握的东西 – 我需要优先学习的是怎样通过静止的camera使用户以360度视角来自由的查看周围的环境,而不是让他们在环境中四处走动。我必须聚焦于自己的目标,不能浪费任何一点时间。

明确自己最需要解决的关键问题,保持聚焦。很多时候你会发现,一个小小的问题就能将你误导到很复杂的境地,而你总觉得必须把所有的问题都搞清楚。在这种情况下,尽可能保持清醒,尝试后退一步,想想看自己真正需要解决的问题是什么,不要将时间和精力投入到歧途当中。

6. 似曾相识也罢

在搜索解决方案的时候,我总会发现自己来到了相同的地方。然后我会继续寻找,直到一两天后又回到这里,心里还在纳闷为什么看上去这么眼熟,直到Google告诉我“你已经多次访问过这个页面”。当你遇到这种状况的时候,要记得,这里或许真的能提供给你有用的信息,只是你现在还不知道怎样以正确的方式从其中获取。

7. 拥抱不确定性

很多时候,我每遇到一个问题,就会牵扯出更多的问题。这种时候,眼前会出现很多模糊的解决路径,每一条路径可能又会发散出更多;其中某些可以帮你最终回到初始问题上来,而另外一些只会让你越走越远。对于特定的目标,你最后可能发现解决方案真的会有很多;要始终做好心理准备去面对各种各样的可能性,在需要转向的时候及时转向,并记得下一点:

8. 做好备份

作为设计师,我们很多人可能都在备份这件事情上摔过大跟头。良好的备份习惯对于Unity一类的工具来说同样非常重要,因为在初学阶段,你可能真的会由于尝试不同的解决方案而最终把一切搞糟。良好的备份与版本控制系统可以帮你解决大问题。

想想看,你在项目中添加了一些脚本,同时调整了很多相关的UI元素,最后发现编译器报错。这时要想删掉所有的变动,包括脚本以及对UI元素进行的改动等等,以便干干净净的回到几个小时之前的状态,这在实践当中并不是一件很容易的事情。

但是探索还是必须的。所以为了避免这种情况,我个人会手动做一些备份,譬如在每次尝试新的探索方向之前备份整个项目。不过这种方式的弊端也是显而易见的,你会在本地或云端留下太多文件,而且容易产生混乱。最合理的方式还是使用Git repo进行版本控制。如果搞不懂这是什么东西,不妨向你身边的开发人员请教请教。

9. 做好写代码的准备

对于设计师来说,这部分工作通常是相当困难的。我个人来说,看懂代码没问题,逻辑也搞得清楚,但要自己上手去写就是另一码事了。有时你会发现其他人共享出来的代码可能非常适合于你的项目,但是拿过来用的时候通常需要做大量的调整才能完美适配。你会遇到各种报错,错误信息通常是你根本看不懂的。不过你只要知道它们代表着“你搞砸了,不修好的话就什么都玩不转”一类的意思就好,并且记得多数人在学习的道路上都会遇到这样的问题,不要沮丧。

10. 多做记录

我会把能够找到的所有教学视频以及相关的资源链接汇总记录下来,以便将来可以顺利的在一个集中的地方找到。我在制作第一个demo app的时候,几乎会将过程当中的每一步都记录下来,甚至包括那些相关的但并不适合于自己项目的解决方案 – 后者都被记录在了一个名为“不适用的解决方案”的文档里,一共有12页;而那些适用的解决方案则被记录在了一个大约有15页的文档当中。项目完成后,所有这些记录也就成为了将来能够参考的重要文档。

也许你的记性比我好很多,这种方式对于你来说未必适合。但要知道整个这一摊子事情会在很短的时间内变得复杂而难以管理,所以无论采用怎样的方式,对信息进行有效的组织是必须的。

11. 玩开心

要知道,你即将去学习的这些知识与技能是非常有意思的。期间固然会遇到很多困难,所需花费的时间也不会太短,但最终打造出一些可以运行的东西之后,那种回报感也是无与伦比的,第一次在头显中与自己创造的世界进行互动的那个时刻保证让你终生难忘。

VR对于多数人来说都是全新的领域,其中有太多未知,而且无论硬件设备还是软件工具,目前都还有着很多的局限性。然而,这也正是开疆破土的大好时机,无论你是设计师还是开发者,创造历史的机会就掌握在我们自己手中。养足精神,做好准备,给自己点耐心,上手去干吧!

| 0 人收藏
回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 马上注册

    本版积分规则

    QQ|小黑屋|vr资源吧 |网站地图