查看原文
其他

开发者故事 | 从织布工人到 AR 开发者,告诉你什么是逃离舒适区

Iris Shi Mapbox 2019-06-01


这是一个从织布工人转行做 Unity AR 开发的 Mapbox 开发者别具一格的故事


本文由 2018 年度 Mapbox 开发者 @Iris Shi 根据被采访者 @王旷怡 自述改写。


小记者:Iris Shi


在 Mapbox 开发者 100 人的群里, 总是有那么几位活跃度极高的开发者,这些熟悉的头像总是时不时得在对话栏中跳跃闪现,或是回答疑难技术问题, 或是抛出疑问, 或是自问自答,王旷怡(Jeff Wang)就是其中的一位。



正文开始……


王旷怡


这位生于山西大同的北方人,南下珠三角求学,毕业后放弃了本科的通信专业,入职了中山灯饰厂,奔波于广州佛山和深圳之间。婚后移居台北,进入岳父的织布厂当学徒,到自学 Unity,设计独立游戏,进入 AR 行业, 最终在 Mapbox 的群里与我们相遇。


这之中的经历虽不能称得上传奇,但也是的确是令人啧啧称奇。


转行


正如蚂蚁面对沙丘的渺小一样, 人在社会发展潮流中也不可抵挡着会被社会发展的大势裹挟而去。 王旷怡在通信专业毕业时,遇到正值 2009 年左右通信行业 2G 至 3G 的变革, 在经过移动网络优化和联通基站建设周边服务商相关实习之后,感受到紧随而来的 4G 技术对自己现有知识的降维打击,便毅然转行,投身制造业,在中山的灯饰厂一呆就是 5 年。


彼时的制造业与互联网没有太大关联,传统制造业的缓步前行与互联网产业的高速发展犹如两条永远不会相交的平行线。


正如他所述,微博成为年度话题,微博营销繁花似锦之时,老板闷头做代工;微信推出了公众号,所有人都为之疯狂,老板终于想给公司做个官网;而当他满5年离开公司又两年后,终于见到当年老板开始在尝试运营微信公众号了,但此时公众号的打开率已经惨淡无比了。


5 年之际,辗转反侧,究竟是跟随大势而去,还是呆在此地,任由浪卷潮涌,当时王旷怡又面临新的抉择。


突遇寒冬


这次的选择之下,王旷怡并没有跨入互联网, 而是选择进入织布行业。王旷怡告诉我们,当时转去织布一方面是因为有机会从即将退休的老师傅那里传承织造技术,另一方面则是岳父不忍心放手这经营了大半辈子的工厂。而事情总是发生的如此凑巧,远远胜过狗血电视剧。他才将将做得出客户要求的面料,外面关税大涨,内部强调环保,好多订单都转去人工更加便宜的越南、孟加拉了。


这家经营了 30 多年的织布厂在他当学徒的第 18 个月倒闭了。


第三次转行


“这两次之后,我觉得还是得做回自己热爱的领域,能不重复地创造,而且是偏向可视化的方向。”  王旷怡在采访的中途说道。


在清算完织布厂之后,王旷怡又一次开始了他的职业选择。 在传统行业几经沉浮的他,在此刻反省了在制造业长达九年的困顿,也更加清晰的看见了自己的初心与热爱,为自己未来的职业道路框定了原则与范围。他最终决定从 Unity 平台切入 VR/AR 领域。


当时 Unity 开始允许个人免费使用,所以不少培训机构都开设了 Unity 课程。据他所述,那时候 VR 设备还在三足鼎立状态,而 AR 则只有 Vuforia 一家独大,也是相对新鲜的领域,培训机构的老师也没有多少商业项目的经验,甚至年龄比学生还小的老师用顾左右的方式混了过去了他,无奈之下转战 Udemy 和图书开始自学。


蛰伏


此时的他已经一条腿跨入了 AR 大门, 然而打铁要乘热,他开始尝试接些 AR 项目的兼职。


此时, 你可以在各个与 AR 有关的活动现场见到他,从共同话题聊到项目,聊到合作。除了线下聚会的平台, 他还勇于尝试主动出击,发邮件询问项目需求。当然了,与客户谈需求时, 不免碰到一些不太清楚的部分,当时的他有一个标准, 凡是不清楚的部分低于 40% 的就可以接,之后边做边学。


在 AR 领域独立接单的同时, 他也在不断的扩展自己的边际, 突破着自己的舒适圈。在接下来的两年的时间里他曾经做了 3 个网站,运营过 2 个公众号,还在 B 站开过直播,直播游戏守望先锋、直播游戏开发、直播 3D 建模。 


虽然经历颇为丰富, 但此时的他仍然觉得自己仍是 AR 产业的旁观者。


但坚持自己的道路的人总会在某刻遇上属于自己的一份丰收,在前年11月他接到一个驻点开发的项目,帮一家做 AR 游戏的新创公司做一款 VR 游戏,专门为了参加展览而设计。在公司担任开发的 3 个月期间见识到了这家游戏公司的内部合作模式和项目思路,他深感自己终于真正跨入这个行业。


在去年 1 月结束了这个 VR 项目之后, 他在 1 月到 9 月这期间又尝试使用 ARkit 和 ARcore 各做了一款 AR 展示类的应用,并在不断更新自己的简历。


在秋夏之交的九月中, 天气温和舒适,天上白云朵朵疏卷,他收到了一份邮件,邮件发送者直接表达了对他的简历很感兴趣并想要聊聊看。


新的征程


那天,他接到邮件,正是上午 11 点了, 邮件开门见山询问他下午 1 点是否有空见面聊一聊。他心中一喜,便急匆匆出门前去。经过 90 分钟车程到达对方公司,紧接着跟技术主管和老板畅聊 3 个小时,自觉这家公司挺有趣,便拿了 offer,约定 10 月报到,试用期三个月。


此时的他正好遇上独立游戏的外部环境变化之时,Unity 的低入门门槛让独立游戏的竞争变得越来越惨烈;而另一方面,他未来负责的部分是信息可视化的系统开发,凭借这个平台有机会负责一个大系统中的特定模块, 而不再受限于个人接小项目窘况。


结缘 Mapbox


转眼间, 便到了入职的时候,他接手的第一个项目就是在可视化场景中追踪角色的即时位置,原本的场景是用 Unity 商城里一套售价 550 美元的都市模型包搭建的,角色则是用 Unity 自带的 NavMesh 来巡航,在完成了初期功能之后产品经理突然要求用手机的 GPS 路径来把角色显示到 AR 模式的地图上,并要求城市的模型要跟真实环境一样。


接手时的场景

 

用 Mapbox 后的场景


正值实习期的他就遇到了前任程序员离职跑路的狗血事故。当然,压力再大也要顶上去。


在接到产品经理的具体需求后便开始疯狂的找方案,首先想到的就是导航地图,顺着这个思路就发现了 Mapbox 这个神器。


据他所言,那一刻 “ 头顶一盏灯泡亮了起来 ”。


此时正是 10 月初的时候,Mapbox 的官网还在主推 1.4.3 版,用它快速搭建了场景之后秀给产品经理看,方案得到了肯定,于是就开始使用 Mapbox 搭建功能。当要制定的功能越来越细致之后,面对代码里的官方注释所提到的各种 GIS 术语他便进入到日常懵逼的状态。于是就翻开 《Mapbox Cookbook》(这本书在微信后台回复“签到”,可以在积分商城兑换电子版) 开始从头学起,经过近一个半月硬啃原文书之后终于从 GIS 的门外汉变成了初学者。


在初步理清基本概念之后所遇到的新问题就主要是在 Unity 里面了,而这时 Mapbox 的Unity 套件也正式推出 2.0 版本,诸多新特性的引入让他迫切地想要找到能交流的伙伴。这时,Jeff 的时间线故事线就与各位读者,还有我这位采访者越来越靠近了。


此时恰逢 Mapbox 的国内团队开始运营 2 周年,公众号、微信群、Q群、知乎上每天都有新的教程或话题上线。此时 Mapbox 官方正好推出“寻找 100 名开发者”的活动,社交媒体运营小姐姐 Max 神手一挥,便为 Jeff 匹配了伙伴 Eddy,每当他遇到新问题时,经验丰富的 Eddy 总是能第一时间给出解法或思路,让这个项目的进度超过原本的预期。


貌似 Jeff 与 Mapbox 很晚才相遇, 实则不然。他笑称,其实他很早就已经碰见 Mapbox 了, 在他做 VR 游戏的那家公司是使用 Unity Asset Store 里的 GoMap 来制作手机上类似宠物小精灵的游戏,而那里面就藏着一套 Mapbox 的瓦片包来处理地图瓦片数据的,只不过被它包了一层外壳,让人不知道怎么就有地图了。


最后,他说道:“ 相信各位看到这里的时候我应该已经顺利通过为期 3 个月的试用期考核,完成了职业轨道的转换,感谢 Mapbox 所提供的 Unity 解决方案,也感谢运营中文社区的 Max 办的各种线上活动让我们这几个在 Unity 里用 Mapbox 的人相互结识,最后也希望有越来越多的 Unity 开发者来使用 Mapbox 开发基于真实地图的应用。”


在与Jeff 聊了良久之后,此时故事也接近尾声了,当然属于他的事业的新征程才刚刚开始。只是短短的几小时, 仿佛围观了他长达数十年的人生发展,有困顿,有抉择,有惆怅,有坚持,也有可嘉的勇气。 从制造业跳出,最终进入AR开发的领域,这正不映射了Mapbox 的一句话“人人都是开发者”嘛。希望每一位看到这篇文章的开发者,抑或是未来的开发者,能够从中找到属于自己的一个小片段,或者是直面这个世界与自我本心的勇气。


番外篇:专访王旷怡


Mapbox 小记者 Iris:在丰富的转行经历之下, 您是如何梳理个人知识体系吗,有什么知识管理体系推荐?


王旷怡:说来这件事其实挺简单的,就是使用mindmap梳理知识点或技能树,然后,给每一个点的掌握程度评分。前半截大家都知道怎么做,但很少有人会想到评分这件事,而我也是三年前无意中读到某篇英文文章时发现的。知道要评分之后还专门跟同学讨论过,最后发现起作用的方式其实补强短板,而光有脑图没有评分的话,自己很容易忽略那些一知半解的知识点。


Mapbox 小记者 Iris:在自学 Mapbox Unity 中有遇到什么难点吗? Mapbox 对初学者友好吗 ?


王旷怡:Mapbox Studio 可以帮我们简化许多操作,但深入进去之后大家都面临同样的几个问题:第一是坐标系统,OSM 的 WGS84 坐标跟国内的火星坐标要怎么转换,这件事情在群里的每个人身上都会遇到,要是 Mapbox 能内建相关的功能对于开发者来说是一大福利;然后则是地图资料本地化这件事,Mapbox 在手机上是耗电大户,网络传输是一个最明显的环节,我这个小米用户对发热已经习以为常了,但 Eddy 在高端机上运行也明显发烫就有点夸张了;第三则是上传自定义资料 Mapbox Studio 的流程几乎每个开发者都要自己做一遍,不少没有网页开发资源的伙伴也都卡在这里;


而对于 Unity 开发者来说则还有另外两个问题:一个是 Mapbox 的扩展功能都是基于 Web的,以 OpenGL 和 JavaScript 为主,而 Unity 是以 C# 来写代码的,这导致不少时候我们只能对着一个网页版已有套件的功能发呆,不知道要不要自己用 C# 重写一遍或者因为牵扯到坐标转换的问题而不知道要怎么用 C# 重写。


另一个则是 Mapbox 在 AR 项目里会调用 Unity 自带的 ARFoundation 的功能来实现物体 GPS 坐标与 AR 场景对位的功能,但这部分的表现实在是糟糕,而 Unity 最近一次更新 ARFoundation 是在去年的 7 月 16 日,不知 Unity 何时才能更新;


而在 Unity 更新对位套件之前,很多 AR 功能只能寄希望于原生开发,因为 AR 与 GPS 交互的精准度在 ARkit 和 ARcore 里都有持续在改进,但原生开发这件事情对于 Unity 开发者来说基本上是不可能完成的任务,希望 Mapbox 帮忙向 Unity 传达些改进的压力和动力,让我们这些因为对位不准而卡住的 Unity 项目有机会继续下去。


Mapbox 小记者 Iris:官方社群对你有什么帮助吗 ? 你和配对小伙伴 Eddy 的日常交流, 以及 Eddy 对你的帮助


王旷怡:当我用 Mapbox 1.4.3 搭建了让产品经理满意的场景之后,这时 Mapbox 的 Unity 套件也正式推出 2.0 版本,诸多新特性的引入让我迫切地想要找到能交流的伙伴,恰逢Mapbox 的国内团队运营 2 周年,公众号、微信群、Q群、知乎上每天都有新的教程或话题上线,通过官方社群内的匹配找到了伙伴 Eddy,每当我遇到新问题时,经验丰富的 Eddy 总是能第一时间给出解法或思路,让我这个项目的进度超过原本的预期。


而且为了让地图功能更加完善,办公室陆续有 GIS 专业的研究生加入地图项目的开发,相信各位看到这里的时候我应该已经顺利通过为期3个月的试用期考核,完成了职业轨道的转换,感谢 Mapbox 所提供的 Unity 解决方案,也感谢运营中文社区的 Max 办的各种线上活动让我们这几个在 Unity 里用 Mapbox 的人相互结识,最后也希望有越来越多的 Unity 开发者来使用 Mapbox 开发基于真实地图的应用。


Mapbox 小记者 Iris:对Mapbox中文社区还有什么建议吗,例如技术交流,活动举办等等?


王旷怡:关于中文社区的建议,目前看起来群里的人员分布还蛮分散的,百人开发者里用Unity的只有 4 人,而我们又都不是 GIS 专业背景的,不太想得到技术交流或活动的点子。但这两个月来,群里会有一些明显一再被提及的问题,这部分可以先整理出方案,帮助新手熟悉基本操作,或者由官方更新教程或者请开发者们分享开发笔记,这两方面可能更适合眼下的状况。


Mapbox 小记者 Iris:未来,你对 Mapbox Unity 有什么建议吗(功能, 使用性)?


王旷怡:一方面是 AR 对位的问题,另一方面则是国内地图坐标系转换以及瓦片数据本地化。我个人非常看好 Mapbox 与 AR 的结合,但目前无论是自己的项目还是公司的项目都因对位不准而停滞,而推动 Unity 去改善他们 ARFoundation 套件的定位精度可能需要Mapbox 出面协调。




在 Mapbox 开发者社群中,还有很多有趣的灵魂,等待被发现,你有故事吗?无论是你的项目、还是你的技术分享、抑或是你的失败经历,我们都愿意作为一个窗口帮你发声。


另外也希望正在用 Unity 开发 Mapbox 应用的小伙伴,可以联系我们,让这个群体更大一些!


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存