腾讯课堂视频:Unity网络引擎Unet——让开发者做在线多人功能更容易 https://ke.qq.com/course/218611
目前,Unet遭到弃用,开发在线的话,不是一个好的选择:弃用说明链接(创建局域网应用程序还是很好用的)
1.新建空物体
①添加NetworkManager组件(用来管理网络多人游戏的状态);
②添加NetworkManagerHUD组件(供应一个简单的、默认的用户界面)
2.玩家(生成预制体,并拖入前面的NetworkManager组件的SpawnInfo里)
①添加Network Identity(网络标识符,区分是客户端的还是服务器的)
②添加玩家移动控制:
(a) using UnityEngine.Networking;
(b) 不继承MonoBehaviour,继承NetworkBehaviour(NetworkBehaviour继承自MonoBehaviourNetworkBehaviour封装了更多和网络相关的属性和方法)
③移动同步:需要添加NetWorkTransform组件
④初始位置:NetworkStartPosition组件
⑤同步动画:NetworkAnimator组件
⑥数据同步:
(a)Command //客服端发送,服务器运行
(b)ClientRpc //服务器发送在客户端执行具体的
(c)SyncVer //同步变量
3.实现在线:使用Unity Cloud的在线游戏房间匹配系统
①需要在Unity开启MultiPlayer服务(工具栏Help下面UnityServices)
MultiPlayer服务地址:https://unity3d.com/cn/unity/features/multiplayer
点击Enable Match Maker(M) 建立并运行您的项目。网络管理器HUD显示游戏内菜单。单击“启用匹配制作器”。 | |
选择房间名称,然后单击应用程序上的“创建Internet匹配”。 | |
运行项目的更多实例,然后单击这些客户端上的“查找Internet匹配”。您的房间名称现在应该出现 | |
单击加入匹配。你的球员现在应该连接到同一场比赛 |
//开启服务器
void StartHost()
{
NetworkManager.singleton.StartHost();
}
//开启客户端
void StartClient()
{
NetworkManager.singleton.StartClient();
}
---------------------
作者:qq_41578401
来源:CSDN
原文:https://blog.csdn.net/qq_41578401/article/details/79016947
版权声明:本文为博主原创文章,转载请附上博文链接!