为了账号安全,请及时绑定邮箱和手机立即绑定

unity3d 网游服务器端如何选择

unity3d 网游服务器端如何选择

慕仙森 2019-05-03 20:55:16
unity3d 网游服务器端如何选择如果对楼主有帮助,给个采纳好不,谢谢啦Photon和KBEngineunity3d是最适用Unity3d游戏开发的两个服务器引擎,但它们还是有区别的,只有清楚地了解区别在哪才能正确使用,下面简单描述下两者的共同点和不同点。
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

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

  • 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示例代码(未解读),没看到什么游戏引擎的魅力。



查看完整回答
反对 回复 2019-05-03
?
富国沪深

TA贡献1790条经验 获得超9个赞

这两个相比,gameObject好理解一点,就是你脚本挂着的那个物体。这个实例化过程是Unity帮你实现的,不用在写代码实例化。this.gameObject默认函数,脚本一创建直接就get到了。

例如,有一个A物体。你给它挂载一个脚本里写this.gameObject。那就等于是直接获取(实例化)A这个物体了,你直接可以引用它下面挂载的属性。

GameObject不是对象,通常需要获取一个对象,就像你定义一个public GameObject A;
那么属性里就会出现一个可托选的框,那就是Unity告诉你,你定义的这个物体是哪个物体要你选择,无论你拖拽也好,脚本里获取也好,都是要给A赋予对象的。

这是一个强大的引擎,里面很多函数,都可以简化,this.gameObject就是简化实例化的一个函数,希望能给你带来帮助~

查看完整回答
反对 回复 2019-05-03
  • 2 回答
  • 0 关注
  • 1192 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信