8

FixPlusPlus

                                                       
      ____    ______  __   __    __        __          
     /\  _`\ /\__  _\/\ \ /\ \  /\ \      /\ \         
     \ \ \L\_\/_/\ \/\ `\`\/'/' \_\ \___  \_\ \___     
      \ \  _\/  \ \ \ `\/ > <  /\___  __\/\___  __\    
       \ \ \/    \_\ \__ \/'/\`\/__/\ \_/\/__/\ \_/    
        \ \_\    /\_____\/\_\\ \_\ \ \_\     \ \_\     
         \/_/    \/_____/\/_/ \/_/  \/_/      \/_/     
                                                       
                                                       

FIX++ (FixPlusPlus) is a professional display solution for future guidelines and instruction manuals.
You can view our project instructions on http://fixplusplus.com.

声明

因为我们是抱着纯Hacker的心态来参加这次比赛,再加上我本人最近被《硅谷》这部美剧洗脑的不轻(逃……),所以我们在头脑风暴的时候不是以商业前景作为主要衡量标准,而更注重技术的实际性,前瞻性和它在生活中的应用场景。我们希望Hack出一个技术上酷炫,使用时让人拍手称快的东西。因此我们抛弃了几乎所有我们在前一个小时想出来的想法,除了最后这个我们决定尝试去实现的创意。

说实话,当我们获得第一,有人咨询我们是不是创业团队并且愿意考虑投资的时候,我确实动心了。但是一年多前失败的创业经验和《硅谷》这部美剧让我明白在缺乏经验的时候我们应该专注于我们在做的事情,努力把我们想做的事情做得更好,更酷炫,更有价值,因此在犹豫和思考了几天并和团队成员商量后,我希望把我们的项目开源,让更多的人能够看到我们的创意,加入我们一起把fix++完善起来。

这是一项很大的工程,不仅在文件大小方面,在潜在的工作量方面也还有很多需要改进和创新的。我们在20个小时里面所完成的这个demo,只是我们想象的蓝图中得很核心,很表面的一部分。剩下几个小时我们都在干嘛……可以告诉大家我们在讨论fix++这个名字……

当然,开源还是希望这个东西能够成长才做出的决定。我不反对其他个人或者团队按照我们的思路去实现什么商业化的产品,毕竟,这个应用潮流,起源于segmentFault的一次Hackathon,起源于我们hACKbUSTER团队,这就足够我们骄傲和幸福了。

好了,废话不多说了,开始介绍项目吧。

项目地址在这里。各种求Star求贡献!

底层技术

  • Unity3D

  • Vuforia 引擎(曾经属于Qualcomm)

  • 3D建模工具(3D Max,modo...whatever)

  • iOS application

未来可能会拓展的底层技术:

  • ARToolkit

  • 模型扫描技术

  • 3D快速建模

项目结构

整个项目目前分为两个客户端,一个是用Unity编写并导出到iOS平台上的主客户端,一个是用iOS原生框架编写的仿iFixit的客户端。所以在仓库里的IFixit 4目录就是Unity工程的目录,我和思宇都是周六晚上速成的Unity,所以Unity的使用我们不介绍了。IFixit-Hackathon则是仿IFixit的客户端,UI是硕硕凌晨四点在建完所有模型之后做出的设计图,我用了半个小时写完也撑不住睡着了……

scanner目录下是一个特殊的apk文件,这是我们使用的Vuforia引擎所支持的手动输入识别物的扫描器。你可以使用这个目录下的pdf文件打印出来的特殊纸张,加上这个apk安装的扫描器,来录入识别物。而这个识别物等同于后面看到的二维码。

在Unity项目中,我们导入了很多模型,这起源于我们想展示一个物体的结构爆炸图,因此我们简单地做了Pro里面的主板,硬盘,光驱和电池,哦,还有一个会转的风扇。

实现原理

我们采用的Vuforia引擎所特殊之处就在于,有了一个标志明显的识别物之后,我们可以在虚拟空间中建立起一套和现实空间基本重合的坐标系,而引擎会帮我们做好旋转和倾斜角这些外界因素的变化处理。因此我们可以以现实空间中的一个固定标志物来对应现实空间中的物体,从而做到在摄像机里看到电脑上的指示箭头和文字不论你怎么移动相机,他们和电脑的位置都是相对固定的。这种体验更加的真实。

image

image

我们在Unity中建立了两个场景,分别对应了电脑的爆炸结构图展示场景和之后的维修步骤展示场景。在项目中分别命名为BoomScenceInFixScence,我们需要做的是导入Vuforia所有的库,然后就是建好电脑的模型,将模型和以二维码为原点的坐标系的相对位置确定好。

在爆炸结构图场景中,我们实现了一个滑块拖动放大缩小展开距离的小功能,这个功能是由场景对应的脚本来实现的,即拖动滑块的时候会更新场景中各物体的位置,由于对应的加速度不同,因此看起来就会成为一个爆炸的效果。

切换到接下来的拆解步骤展示场景后,我们也是利用脚本来控制步骤的展示,即下一步和上一步的操作。原理和上面相同,在电脑上方你能看到的文字框其实也是建模出来的一个3D模型罢了。

我们想要做什么

这个应用的应用场景很广泛,取决于你的生活。例如:

  • 拆电脑

  • 拆手机

  • 任何的简单电器维修

  • 乐高玩具的拼装

  • 宜家这种家具商家售卖的家具拼装

  • 任何说明书

  • 甚至是工业上的机器说明书 也可以直接用这种形式展现

我们还需要做什么

第一,高通已经在一个月前将这个业务以6500万美元的价格卖给了PTC,虽然高通在之前对V的使用上政策很开放,但是未来并不明朗,因此我们希望有能力的话基于artoolkit开源引擎重新实现上述的功能。

第二,我们仍需要为各种复杂场景设计解决方案。例如当一个镜头不能完整展示受体的时候,我们怎么设计标志点的位置。另外,标志点可以不需要用二维码,所以在实际环境中,以什么物体替代二维码作为标志点,也是我们在未来需要思考的。

我们的团队

小萌,真名郑昊天,来自中南大学计算机科学的大二学生,是一个编程,设计,游戏,动画,交互等各方面通吃的全能天才,他的github主页在这里

杨思宇,北京航空航天大学软件学院本科毕业,目前是本学院研究生在读。是一个ACM,各编程语言都感兴趣并且精益求精的大神,他的github主页在这里

陈雨恒,北京航空航天大学软件学院本科毕业,目前是个hacker。在产品,各编程语言开发方面都感兴趣并有丰富经验,小菜鸟一枚。他的github主页在这里

刘硕,北京科技大学工业设计专业本科毕业。萌妹纸一枚,目前是个交互设计师,就职于校园社交创业团队tataUFO。在交互,设计,3D建模方面有着超乎常人的造诣,要想认识她也可以联系我们。

后话

很感谢segmentFault提供的这次纯Hack的机会。说实话,我也参加过很多次hackathon,虽然是从2015年开始逐渐入道的,但是形形色色的hackathon层出不穷。很多商业大赛,甚至是传统的外包比赛,都喜欢冠之以hackathon的名号来吸引年轻的hacker,在我看来这种做法有点挂羊头卖狗肉。可能我们可以用广义的Hackathon来理解这样的比赛,但是在我看来,愿意追随hackathon的hacker,看重的不仅仅是赞助商提供的那一点奖励,而更应该是创新的过程,是那种想要用想法改变世界的雄心。于是,现在有很多纯企业赞助的hackathon,其实就是在用这个比赛的名义,让年轻的hacker以更廉价的劳动力来完成一些工程师或者设计人员很长时间才能完成的进步,对此,我是严重的不赞同和抵制。所以,真心感谢我们在国内能有segmentFault这么纯净的开发者社区,并且组织这种技术向的公开的hackathon。
这是全中国最好的hackathon。发自肺腑。


SergioChan
122 声望317 粉丝