@enhuiz
2016-08-18T23:20:29.000000Z
字数 2414
阅读 426
——8月18日到9月1日
为了保证在八月底可以得到一个可演示版本的手机版本应用,计划将进度分为两个分支。
第一个分支是在原有项目(即上次师兄看到的那个版本,直接复用PC端代码)的基础上进行优化和继续开发。
方案:尝试实现动态加载游戏对象。
方案:紧急的方法可以先注释掉大开销代码以及相关依赖。但由于代码耦合度较高,注释一个脚本的同时会需要注释很多相关代码,可能会导致问题。好的方法是先理解各个模块代码作用,然后优化脚本。
方案: 操作部分可以在找到相应代码部分后重写为手机操作,然后再查看问题是否解决,若未解决,再找到相应积木接口信息,在手机上进行调试查看是否能在手机正确加载。
方案:除了等到场景优化后再进行该方案,较好的方法是先通过理解代码,在注释开销大的脚本同时保留相关逻辑,并且要先删除大部分积木。在性能可行的前提下进行操作开发。
方案:在理解积木的数据结构之后,对积木进行在分类。利用UnityEditor脚本对积木模型进行摆放。
这个方案比较有风险。在开发成员对PC端源代码比较陌生的情况下,时间消耗相对较高。昨天和前天两天时间我同其他开发成员一起进行代码的梳理,具体的方式是建议大家尽量地多删除代码,尽量只保留最基本的操作逻辑,到最后比较谁能在删除较多代码的同时还能维持基本的搭建功能。一天之后大家并未取得实质性进展。大家只是走马观花般地看了看几个主要脚本,例如BuildComFunc、CollisionDetect但却没有完全理解实现的思想。第二天进展更为缓慢,加之适逢两个大作业的deadline:一个Web应用(专家信息管理系统),一个文件系统(在内存里开一个buf模拟磁盘实现一个文件系统)。两个卓越班的同学要赶作业,所以最终也没有得到一个剥开额外代码的一个梳理后的版本。
不过这两天也是有进展的,我大概搞清楚了一些砖块的信息加载,砖块的创建方式的部分,接下来通过这个分支,开发成员们可以逐步慢慢吃透自由砌版本的代码,这样相比来说是更为一劳永逸的方法,但是时间不好估计。
分支二将对自由砌进行重新开发,分析适合手机的积木搭建方法,并且进行优化。在实现方面参考PC版本。
设置新的坐标系,只包含整数的点。将世界坐标与新的坐标做好映射。
根据离散的坐标系来创建一个可扩张与收缩的地板对象。
参考PC版本加载积木的方法,实现积木信息的加载,积木数据结构的设计。
实现将积木以正确的姿态加入离散坐标系,并且在拖拽、调整姿态、安置等过程中始终与离散坐标系对齐。并且需要一个管理器来管理当前场景中已有的积木,以便于之后的撤销、保存、加载等操作。
按美工给的效果图完成UI,并且试着优化选择积木时一次导入较多模型的问题。
开发手机端的操作例如长按、缩放等。
参考PC段积木拼接实现方法,进行实现(此时触控操作已经基本开发完毕,在开发的过程中若发现性能问题,可以即时优化)
例如一些可以在插入后旋转的积木等的操作扩展。
例如分享功能,截图功能。
采用这个方法进行开发可以在开发的过程中即时地处理性能问题。并且会对整个项目较有把握。缺点就是可能会导致PC段和移动端实现不统一,之后的功能拓展可能需要重写而不是直接拿来复用。
由于两个deadline的时间分别是20号与25号,询问卓越班的两个同学后大概得知他们可能在25号之前都在忙碌。而我跟家宝相对来说在这一段时间没有紧急的任务。所以采用如下的任务分配方式,以保证两条分支可以同时进展:
分支编号 | 负责人 | 成员 |
---|---|---|
一 | 陈家宝 | 林沈泳 |
二 | 牛哲 | 吴欣 |
除了考虑到成员的时间外。还有技术相关的考量:相对来说由于家宝和沈泳之前一直在做自由砌的开发,并且进行了PC端到手机端的移植,所以说比起我跟吴欣来说对自由砌PC端源代码更为熟悉。
两周之后较好的预期版本是:UI按照美工效果图完成,操作基本实现,拼接问题解决,性能有较大提高,可以实现场景的保存与加载。
较差的预期版本是:UI按照美工效果图完成,加载时间长的问题仍未解决,操作实现不完整。
两周之后较好的预期版本是:UI按照美工效果图完成。操作基本实现。可以实现任意数量积木的创建、拖拽、旋转、放置、移除操作。实现简单的积木拼接。性能较快。
较差的预期版本是:UI按照美工效果图完成。可以实现少部分积木创建、拖拽、旋转、放置。可能会出现积木未对齐地板、姿态不对等问题。性能较快。