Pun使用教程
第一步:请确保使用的 Unity 版本等于或高于 2017.4(不建议使用测试版)创建一个新项目。
第二步:打开资源商店并找到 PUN 2 资源并下载/安装它。 导入所有资源后,让 Unity 重新编译。
第三步:导入后出现设置面板,如果有账户ID输入即可,如果没有登录官网注册 并获取“AppId”以将其粘贴到输入字段中。保存 AppId 后,我们完成了此步骤。
第四步:登录Multiplayer Game Development Made Easy | Photon Engine注册账号,注册完成后,点击Create创建项目,类型的话,如果是聊天室可以选择Photon Chat,普通的选择Photon PUN就可以了
复制APPID到项目中
Photon\PhotonUnityNetworking\ResourcesPhotonServerSettings的App Id Pun,并且设置版本号
基础设置完成开始进行代码编写。
第五步:在同步过程中,最基础的同步为位置旋转与缩放,在插件中有集成好的脚本可以直接使用,首先需要在需要同步的物体上添加Photoview,然后添加Photot Transform view
这样就可以进行位置坐标与缩放的同步。
第六步:需要创建游戏房间,限制最大游戏人数,实现逻辑如下
引用命名空间using Photon.Pun;using Photon.Realtime;
继承MonoBehaviourPunCallbacks类
在Start方法中调用PhotonNetwork.ConnectUsingSettings()方法,使用在网站申请的服务器。
实现虚方法创建房价设置最大房间人数
public override void OnConnectedToMaster()
{
base.OnConnectedToMaster();
RoomOptions roomOptions = new RoomOptions();
roomOptions.MaxPlayers = 20;
PhotonNetwork.JoinOrCreateRoom("Cs", roomOptions, TypedLobby.Default);
}
房间创建完成后实现虚方法,此方法会获取是否人启动新的客户端,相当于玩家加入房间
public override void OnJoinedRoom()
{
base.OnJoinedRoom();
}
第七步:打包测试,在打包测试后可以进行网络同步,没有网络环境下并不能同步,移动同步也会有延迟因为目前网络接入的是国际网络,需要去申请中国区域网络。
本地服务布置需要在官网下载本地服务器,首先在untiy面板中点击选择按钮,进入光子网站
点击sdk选中里面server
点击下载即可,版本分为4.0与5.0 目前使用4.0版本,下载后进入红色框选文件夹
双击打开服务器,在电脑右下角右键点击服务器,选中start as application 打开服务器
在unity 中的插件面板设置ip地址与端口号后,打包程序同步内容,目前测试阶段只能主程序控制副程序中的物体。