unity 大游戏使用什么框架

unity 大游戏使用什么框架,第1张

关于Unity的架构有如下几种常用的方式。

1.EmptyGO

在Hierarchy上创建一个空的GameObject,然后挂上所有与GameObject无关的逻辑控制的脚本。使用GameObject.Find()访问对象数据。

缺点:逻辑代码散落在各处,不适合大型项目。

2.Simple GameManager

所有与GameObject无关的逻辑都放在一个单例中。

缺点:单一文件过于庞大。

3.Manager Of Managers。

将不同的功能单独管理。如下:

MainManager: 作为入口管理器。

EventManager: 消息管理。

GUIManager: 图形视图管理。

AudioManager: 音效管理。

*PoolManager: go管理(减少动态开辟内存消耗,减少GC)。

缺点:

(1)不能管理prefabs。

(2)没有进行分类。

更好的实现方式是将一个PoolManager分成:

若干个 SpawnPool。

每个SpawnPool分成PrefabPool和PoolManager。

PrefabPool负责Prefab的加载和卸载。

PoolManager与之前的PoolMananger功能一样,负责GameObject的Spawn、Despawn和Trim。

要注意的是:

(1)每个SpawnPool是EmeptyGO。

(2)每个PoolManager管理两个List (Active,Deactive)。

讲了一堆,最后告诉有一个NB的插件叫Pool Manager- -。

*LevelManager: 关卡管理。

推荐插件:MadLevelManager。

GameManager: 游戏管理。

如果对楼主有帮助,给个采纳好不,谢谢啦

Photon和KBEngineunity3d是最适用Unity3d游戏开发的两个服务器引擎,但它们还是有区别的,只有清楚地了解区别在哪才能正确使用,下面简单描述下两者的共同点和不同点。

语言

对于大部分的程序员语言简直就是宗教信仰。

Photon使用C#开发,当然使用者也是用C#进行各类游戏功能开发。前后端同种语言,这对使用Unity3d游戏开发也有很大的好处。

KBEngine使用C++开发,逻辑开发是用python,也是很不错很快速的。

开源与收费情况

Photon是Exit Games公司的产品,不开源,有好多种收费模式,官网上可以看到。开发阶段可以用免费的license,后期可以看流量用户活跃度来选择付费模式。后续的支持,似乎是免费的,你可以选择邮件或是到论坛发帖求助,当然是E文。

KBEngine是国人开发,开源免费,但从官网上并没有看到商业使用的案例。有中文论坛,你可以在论坛上向开发者求助。

虽然两者的模式不同,但作为一个Unity3d游戏开发者,我们最希望的其实是把游戏引擎当作一个安全稳定的黑箱。

操作系统

之前说了Photon使用C#开发很自然的,配套的工具也是使用C#,比如最重要的PhotonControl。所以开发环境和生产环境最好都是windows。

虽然在跨平台上有mono,在服务器代码部分是系统无关的,但是不管你信不信,我是不信它的一套窗体工具也能运行在Linux下。反正,官网说法是,开发和生产环境都是用windows。

KBEngine建议开发环境选择Windows,生产环境选择linux。毕竟你总不希望开一组服务器打开9个Console窗体,一不小心把哪个点X了吧~

协议

Photon有自己的序列化反序列化方式,你也可以使用protobuf这类的来做应用层传输协议。

KBEngine在这方面表示不支持自定义协议,它帮你选择了有效的方法来处理,如果你习惯了他规定的方式,会喜欢上的。

看法

在功能上,我毫无疑问地更喜欢KBEngine,脚本化和自动持久化是极富魅力的功能。而Photon几乎没做这方面的功能,可能和老外的观念有关系。就目前我对两者功能的理解看来,Photon其实是个和SuperSocket差不多的东西,而SS是作为轻量级服务器框架存在的,Photon却是说自己是Unity3d游戏引擎,除去提供的MMO示例代码(未解读),没看到什么游戏引擎的魅力。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/441060.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-30
下一篇2023-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存