首页|基于Unity的游戏功能模块设计与实现

基于Unity的游戏功能模块设计与实现

扫码查看
近几年中,随着计算机科学技术的发展与智能手机的普及,人们对于移动设备的使用日益增多,其中对于移动设备的娱乐需求也引发了相关科学技术的发展。在与之相关的图形学、物理学发展中,逐渐形成了功能强大、便于使用的跨平台专业游戏开发引擎,Unity3D便是其中之一。在此基础上,移动端游戏日益发展,国内相关的游戏产业愈发成熟,逐渐形成了完整的移动端游戏开发框架与解决方案。在国家相关的政策扶持下,游戏产业创造了极大的经济价值,并开始逐步将平台上升至海外市场。当前国内手机游戏市场中,游戏种类众多,棋牌战略类游戏是其中重要的组成部分之一,但游戏内容风格相似,游戏过程中移动设备的耗电量与内存使用量较大,大多数系统设计尚待优化。因此本文将以实习项目为基础,针对当前市场中游戏存在的普遍问题进行优化,对手机游戏中经常使用的功能模块提供可行的解决方案,并对其中使用的关键技术进行分析。 本文详细地论述了如何开发一款运行于手机端的策略对战棋牌游戏中的功能模块,通过对市场上现有的游戏模块设计进行研究分析的基础之上,整合设计对应的功能,在此基础上开发出功能完备的模块。通过使用C#与Lua语言,深入Unity引擎,进行系统的游戏模块结构设计与架构结构的开发,其中对武将系统、背包系统、邮件系统与活动系统的开发过程及架构方式进行了系统的解析。使用UGUI系统组件与ToLua结合的方式,将UI相关逻辑与游戏逻辑主线程分离,进而实现使用资源热更新的方式更新Lua文件从而完成相关UI逻辑的线上热更新,避免在线上环境需要修复开发漏洞时用户重新下载整个应用。在武将系统中实现了模型与UI组件的同级渲染,并对其不同的实现方式进行了对比分析,同时由于热更新的需求,需要对项目资源进行统一的配置管理,因此实现了提供统一的文件资源加载接口,其基于Unity的文件加载机制,使用异步加载与对象池的方式实现了资源的加载与卸载。在背包系统中实现了基于ScrollRect组件的元素异步加载,使用观察者模式绑定游戏中的事件与响应,使用protoBuf协议来定义网络传输协议。在邮件系统中实现了在用户浏览过程中的数据分页获取,基于Text组件的富文本显示。在活动系统中实现了游戏中时间的系统管理与CSV文件的配置读取。通过分析功能模块从设计到实现的过程,以各模块包含的不同功能的角度,介绍相关手机游戏开发过程中将遇到的主要问题并提供解决方案,涉及消息框架、资源管理、模型渲染等等诸多方面,希望可以为后续相关游戏开发提供思路与参考。 本项目已经过三次面向公共平台的测试,拥有近万的参与用户,在测试过程中数据表现良好,未出现严重的系统漏洞。用户在后续反馈中评价较好,拥有较高的留存率,可以较好的满足用户相关的娱乐与社交需求。

赵若津

展开 >

手机游戏 功能模块 程序设计 Unity引擎

硕士

计算机技术

潘荣江

2020

山东大学

中文

TP