Unity学习多人游戏的网络同步入门
来源:互联网 发布:new blue 插件 mac 编辑:程序博客网 时间:2024/06/05 00:36
unity中网络的同步是通过组件NetworkManager和NetworkManagerHUD来实现的。
第一步创建网络管理器:
在场景中创建一个空物体命名为NetworkManager并添加NetworkManager组件和NetworkManagerHUD组件
第二步:设置NetworkManager组件
注册PlayerPrefab:在SpawnInfo下为PlayerPrefab添加事先完成的带有NetworkIdentify组件的预制体并勾选NetworkIdentify下的选项LocalPlayerAuthority使客户端有权限控制角色。
第三步:实现服务器和客户端的玩家运动同步
为玩家预制体添加NetWorkTransform组件,NetworkTransform组件是仅用来同步玩家的运动,其他玩家信息的同步需要用到其他的东西。注意,由于不同的客户端在生成时物体完全一样,那么当输入移动命令时为了防止所有客户端的玩家一起运动,控制玩家运动的脚本需要具有网络意识:在脚本中添加usingUnityEngine.Networking,将Monobehaviour换成NetworkBehaviour并在脚本中通过isLocalPlayer来判断是不是本地玩家。另一种方式使脚本具有网络意识的方法是使用[Command]属性,官网上的解释是被[Command]属性修饰的函数将在服务器上执行,在客户端上调用,这样可以通过服务器来区分是哪个客户端调用了方法,从而达到了区分的目的。[Command]的用法:加在函数定义的前面,被[Command]修饰的函数名需要加上前缀Cmd。
同步变量:[SyncVar]
同步与变量相关的函数:[SyncVar(hook="函数名")]
0 0
- Unity学习多人游戏的网络同步入门
- Unity多人游戏与网络功能(四)- 状态同步与远程动作
- (9)unity入门,同步、网络。发布
- unity 多人网络功能的学习
- Unity多人游戏和网络功能(三) 游戏物体的派生
- Unity多人游戏和网络功能(三) 游戏物体的派生
- [Unity&photon&多人游戏插件]photon入门
- Unity多玩家游戏和网络功能
- unity网络连接的学习
- Unity的Shader入门学习
- unity 入门学习之(一)创建基本的3D游戏场景
- 多人游戏的位置信息同步
- Unity多人游戏和网络功能(二) 使用网络管理类
- Unity学习系类笔记5:多人游戏基础
- Unity学习系列笔记6:多人游戏进阶篇
- Unity学习笔记5:多人游戏基础
- Unity学习笔记6:多人游戏进阶篇
- Unity学习笔记5:多人游戏基础
- CRS-0184: Cannot communicate with the CRS daemon.
- 最长不下降子序列
- Java中 遍历Map对象的6种方法
- i春秋百度杯CTF比赛2016年12月场writeup
- C++的辅助工具介绍
- Unity学习多人游戏的网络同步入门
- vim+vdebug调试php
- win7 安装maven后提示mvn 不是内部或外部命令
- 自定义Button的一些参数
- 算法概论第八章课后习题
- 视频 - 在 VirtualBox 中部署 OpenStack
- hiho 1461 暴力+随机
- 第一次接触汇编
- 调谷歌自动翻译工具