unity3d里 如何实现局域网联机

unity3d里 如何实现局域网联机,第1张

如果只是做简单的联机,没必要要photon

unity本身就提供了联机的组件networkview,

详见官方的文档http://docs.unity3d.com/Documentation/Components/class-NetworkView.html

另外unity支持自定义的socket通信,所以,如果要做的话,建议先学会其中之一

这个代码的话量还是比较多的,可去搜索unity联网实例来看

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

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

首先在场景中新建一个空物体,添加组件Network Manager 和Network ManagerHUD组件

PlayerPrefab=>客户端加入时自动生成的Prefab

AutoCreatePlayer=>自动生成Prefab。

PlayerSpawnMethod=>Prefab的生成方法,两个选项。使用这个方法首先要有指定的位置。(NetworkStartPosition)

Random=>随机生成

创建角色预制体,添加组件Network Identity

.

给角色添加移动脚本PlayerController

将角色的预制体添加到NetWork Manager/Spawn Info中

构建项目并运行,打开构建的游戏,

点击左上角的LAN Host

再打开Unity,运行程序,点击LAN Client加入游戏

画面中有两个角色(重合),移动角色会发现角色在同时移动

要添加一个判断条件,判断当前角色是否为本地角色

首先,加入UnityEngine.Networking命名空间

其次,将MonoBehaviour改为NetworkBehaviour

最后添加判断条件

再次构建发布并运行,两个角色就可以分开移动了,但是还有个问题:画面不同步

在角色预制体中添加Network Transform

Network Send Rate 每秒的网络更新数

Transform Sync Mode 可以更改同步的组件类型

再次构建运行,可以看到 画面同步了。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存