为期 13 周的二级工程实践已经接近尾声,我们的《高层火灾逃生体验系统》开发工作也已经全部完成。在本次项目中,我担任项目经理,同时负责项目的主要开发工作,无论是对项目管理能力的锻炼,还是个人编码能力的提升都收获满满。从项目初期需求调研,到系统设计,到实际编码开发,再到最后项目测试和收尾,每一个阶段都有小组每个人的身影,都有我们每个人的点滴。
在项目初期,需求调研阶段,我们提出过很多方案,比如《恐龙岛》《游乐场惊险项目》《 VR 秘密花园》《VR 火灾逃生体验》等等,为了确定最终方案,我们召开过两次会议反复讨论。虽然考虑到开发难度,有些方案没有采用,但是在调研和讨论的过程中,大家对于 VR 的认知不断的深入,在 VR 交互方式和呈现形式的设计上有了很大的提升。
在项目系统设计阶段,这部分工作主要是由我主持,大家参与共同完成。由于我此前没有相关经验,实施起来捉襟见肘,很多东西都是现学现用,或者参考网上类似项目的模板。也是在这个阶段我犯了很多错误,由于考虑不周,在任务分解的过程中漏掉了很多必要的功能点,而且由于套用模板,没有紧密贴合需求,在设计文档中混入了一些与需求无关的、甚至不切实际的设计。这些直接导致后面实际编码过程中很多工作无法正常开展,只好遇到问题之后,再回来修改设计文档。也正是这个过程,让我深刻体会到了“无需求,不编码”的含义。
在实际开发阶段,我主要负责编码开发,开发小组其他成员负责搜集制作提供开发所需要的模型、贴图、音频等素材。我使用“State Pattern”的设计模式,通过 GameMain 来控制主流程,通过调用 UIMain、AudioManager、ControllerManager 中的脚本来分别控制场景中 UI 、音频 、和手柄交互。在这个阶段中,我收获最大的就是设计模式的学习和应用,一个合适的设计模式为开发带来的帮助真的是太大的。
在最后的测试分析阶段,由于之前的“历史遗留问题”,此阶段也出现了很多问题,甚至有需求的不明确,需要添加和修改需求的情况,对原始的版本进行修修补补。其中改动最多的地方集中在视觉表现形式上面,包括 UI 的位置、颜色、透明度等,模型的尺寸、比例、摆放位置,以及灯光、反射探针的的渲染烘焙以及特效、动画等。我觉得造成这一问题的主要原因是前期系统设计阶段所犯的错误。
昨天(9月21日下午4时)的正式答辩中,老师也诚恳地指出了很多我们存在的问题,主要是三方面:
- 我们的项目报告文档书写不规范,其中代码部分及其他部分废话过多,应该多一些结构图、流程图等。
- 答辩汇报时间安排不合理,浪费了大量的时间去吹嘘项目有多厉害,而真正展示项目细节时时间不够了,导致大家并没有真正听明白我们做的东西。
- 内容设计中出现知识型的错误,老师指出,
高层建筑
中,窗户是无法像我们平时见到的窗户一样横向打开的,所以逃生时无法开窗逃生,必须砸窗。这也是我们调研策划时疏忽犯的错。老师的批评让我认识到了做任何事情任何细节都必须严谨,尤其是这类火灾逃生教学课件,我们的一点疏忽很可能误导用户,将其置于危险境地。
通过这个项目的实践,我收获颇多。我相信对于努力的人,一切付出都不会白费。
本文由 机灵鹤 SmartCrane 创作
本站文章所有原创文章, 转载前请务必署名
最后编辑时间为: 2018-09-22 14:10