Unity unet多人游戏同步入门技巧①

 时间:2024-10-12 03:13:46

1、要进行多人游戏的数据同步,首先我们1.要在场景中有一个物体上,带有Network Manager组件(改组件可以被继承和修改)2.需要有一个表示玩家对象的预制体,且该玩家预制体带有NetworkIdentity组件。

Unity unet多人游戏同步入门技巧①

2、我们首先用一张图简要说明使用玩家对象进行同步的流程。绿色是无所不能的绝对权威,蓝色是可以发送数据和命令的,灰色是只有接收数据的份。黄色箭头是[Command]方法调用,橙色箭头是[ClientRpc]方法调用。

Unity unet多人游戏同步入门技巧①

3、而现在,我们想要一个“灰色”的对象,可以接受数据,但是又不希望玩家掉线这个对象也消失。实际上,我们只需要新建一个游戏物体,给它一个NetworkIdentity组件。

Unity unet多人游戏同步入门技巧①

4、我们给它添加一个脚本,这个脚本要继承自NetworkBehaviour, 里面储存所有想同步的变量。

Unity unet多人游戏同步入门技巧①

5、而且,这个脚本本身只有ClientRpc方法。因为没有客户端有办法通过这个非玩家对象发送Command. 但是服务器调用了ClientRpc,这个调用确会传达到所有客户端。原理图如下。

Unity unet多人游戏同步入门技巧①Unity unet多人游戏同步入门技巧①

6、这个游戏对象是不会因为玩家掉线而清除的,只是会被禁用。当再次连线的时候,这个对象里面的数据不会改变。当然,它真的没办法和服务器通讯吗?显然不是。我们只要搞到一个本地玩家对象的引用,就可以迂回的发送数据到服务器了。如图所示。

Unity unet多人游戏同步入门技巧①
  • 艾尔登法环权贵上衣获得方法
  • 艾尔登法环离群野狼的骨灰怎么获得
  • 艾尔登法环阿尔佩利希尖帽怎么获得
  • 艾尔登法环黄金坠落震击战灰位置攻略
  • 艾尔登法环斗士头盔怎么获得
  • 热门搜索
    深圳到香港旅游 山西旅游团 吉林旅游攻略 赤峰旅游资讯网 上海旅游节官网 成都旅游攻略2013 去澳大利亚旅游 苏州旅游集散中心 百度旅游网 呼和浩特旅游景点大全