Unity作为全球最知名的游戏引擎之一,功能已经做的非常完善了,为什么我们还要在开发项目的时候需要搭建游戏框架呢?基于Unity来搭建一个游戏框架,我们又应该如何思考,如何做?今天给大家分享一些Unity游戏框架搭建相关的内容和理念。
对惹,这里有一游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀
为什么有Unity引擎还要搭建一个游戏框架?
Unity是游戏引擎,面对的是任意类型的游戏使用和不同的开发团队。所以他提供的是机制,很少提供一些具体的策略,比如资源管理,提供addressable/asssetsBundle机制。比如开发模式提供组件化开发的模式,比如编辑器
Unity游戏框架要解决哪些问题?
上面了解了我们为何有了Unity引擎还要搭建Unity框架,接下来我们来分析一下一个Unity游戏开发框架到底要解决哪些问题,确定哪些策略和机制。
首先要确定的就是组织代码和资源的方式。我们做项目需要维护,需要多人协作,同时开发游戏,包含了美术,策划,程序等多个岗位的开发人员。如果通过制定一个策略把这些开发人员组织在一起,比如目录结构如何划分,美
其次要考虑的是游戏的核心玩法所需要的美术风格,渲染效果和游戏性能。对于一个游戏而言最重要的现在就是玩法与效果,所以客户端的游戏效果是什么样子对于游戏来说很重要,所以很多大型的游戏公司里面做项目的第一件
还有可能要针对游戏的玩法和类型开发一些特殊的工具,比如地图编辑器,比如关卡编辑器,比如路径点标记等等。这些就需要开发一些特殊的工具和脚本。
最后要做的就是上线发布时候必要的一些工具和功能,比如SDK对接,打空包,资源更新,代码热更新等。考虑这些,也是我们做游戏框架必须要解决的问题,而这些问题一般Unity引擎不会直接提供。
Unity 游戏框架具体如何设计
通过上面的描述大家明白了为什么要基于Unity游戏引擎来搭建框架,那么当我们要做一个类型的游戏的时候如何来做游戏框架呢?我这边分享一个我带项目时候的具体的做法,供大家参考。
首先策划会告诉我这个游戏的核心玩法,我要快速的确认这个游戏的美术风格细节(光照,影音等),确认最复杂最消耗性能的战斗客户端的性能是否能支持,最快的速度模拟这种性能极限来做渲染管线的定制和Shader优化等。
渲染效果与性能问题解决后,接下来就开始做常用的一些功能模块来支撑业务逻辑的开发,首先是目录结构的组织,游戏框架代码的启动流程,各个常用的游戏模块: 资源管理模块, 调试日志模块,UI管理模块, 网络管理模块,数据表格管理模块, 一些工具性质的代码,如http上传下载, 工具类的函数等。
最后就是针对游戏玩法关卡设计等,开发一些工具,比如关卡编辑器,地图编辑器与路径烘培等。
这些东西都做好了以后,针对这个项目的框架就算做好了,大家基于这套来进行开发协作,框架也就做好了。
今天的分享就到这里.主页里可以获取一些更多的Unity 游戏开发相关的技术讲解和教程。 |