您好,登录后才能下订单哦!
目前针对3D游戏移动端的开发,Unity3D引擎几乎占领了大部分份额,Unity的特点就是入手快而且市面上的插件比较多,这也说明它的架构设计还是非常不错的,有这么多人参与也使引擎的应用获得了空前的提升。但对于游戏公司的初级程序员或者说刚入门的程序员来说,在实际项目开发中,都是写写基本逻辑,对于底层架构设计并不是很清楚。这样对于自身发展非常不利,在这里给大家介绍几种游戏开发中常用的架构设计,也是告诉大家该如何学习。
大家学习的过程中,对设计模式中的几个经典模式要熟练掌握:单例模式,工厂模式,抽象工厂模式,状态模式。接下来我们就以游戏客户端为例告诉大家该如何设计一款游戏架构。
在客户端开发中首先设计的是UI,游戏的UI开发逻辑非常多。为了能够满足游戏的需求变换,这就要求我们必须做一个架构。架构的目的是方便程序员扩展,还有就是模块之间的藕合性降低。
先说UI设计,UI主要功能是界面之间的切换以及界面的数据显示,这刚好满足了MVC架构模式,Model表示的是数据变换,View表示的界面的显示,Control表示的是控制。
这样界面的基本逻辑在View中编写,Control表示的是控制View的显示,Model表示的数据变化。它们之间可以通过消息的监听和分发链接。具体可以查看笔者编写的《Unity3D实战核心技术详解》电子工业出版社出版的书籍,里面有关于MVC架构设计的详细讲解和代码案例。
再说进入游戏后的角色设计,角色有很多动作和技能。不同的动作之间可以互相切换,技能也是一样的,动作的数量是有限的,技能也是有限的,这个非常符合FSM有限状态机的设计。代码的设计可以采用首先设计一个状态变换的基类,不同的动作或者技能都可以继承这个基类。它们之间的变换可以采用State去切换,非常适用。笔者在《Unity3D实战核心技术详解》一书中专门有一章内容对其进行详细讲解。
这两部分是最重要的,其他的涉及各个管理类的封装管理了。相对来说都是孤立的模块设计,这些模块设计可以采用单例的方式进行。最后告诉读者一个非常重要的事情就是先进行模块设计再编码,根据策划需求先整框架。避免拿过需求文档就开始写,后面修改非常频繁,把自己坑死。
目前个人也开通了个人主页网站:www.vr3d-edu.com 欢迎大家访问。
顶
0
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。