PUN简单介绍:
Photon引擎属于Exit Games公司,是世界排名第一的独立网络引擎和多人通信平台,适用于独立开发者和专业工作室
Photon引擎具有通信快速、高可靠性、使用方便、容易扩展等优点
针对Unity网络游戏开发,Photon引擎是首选服务器引擎
PUN网络连接状态:
PUN具体操作:
在官网中下载PUN2,导入Unity(Unity版本必须在2018以上)
先在光子中注册,注册后点这个创建一个应用程序
然后填写名字和项目类型,我这里选的是PUN
创建好后会出现这个
然后去申请中国区:光子云PhotonCloud | 光子引擎photonengine中文站 | 光子引擎photonengine中文站免费申请使用,无需安装,一键部署的光子云PhotonCloud的相关介绍。特性,国内价格。
https://vibrantlink.com/photoncloud/
这里的appid和appid类型要与刚才创建的程序类型一致!!!appid就是下面这个,类型就是PUN
申请写完后提交,会在1-2个工作日内给回复,然后回到Unity,选择Photon-PhotonUnityNetworking-Resources-PhotonServerSettings修改一些东西
App id PUN填入刚刚申请中国区的App ID
Fixed Region这个改成cn
Server加入:ns.photonengine.cn
Protocol这里改成Tcp
然后新建一个脚本,test.cs
先导入using Phoon.Pun
把里面继承的MonoBehaviour改成MonoBehaviourPunCallbacks
using Photon.Pun;
using Photon.Realtime;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class test : MonoBehaviourPunCallbacks
{
string version = "1.0";
bool isconn = false;
public Button btn;
private void Awake()
{
PhotonNetwork.AutomaticallySyncScene = true;
}
void Start()
{
//Connect();
btn.onClick.AddListener(Connect);
}
public void Connect()
{
if (PhotonNetwork.IsConnected)//判断是否连接到Photon服务器
{
PhotonNetwork.JoinRandomRoom();//随机加入房间
Debug.Log("111");
}
else
{
PhotonNetwork.GameVersion = version;//设置版本号
isconn = PhotonNetwork.ConnectUsingSettings();//连接Photon服务器
Debug.Log("aksjhgd");
}
}
//是否连接上主客户端
public override void OnConnectedToMaster()
{
Debug.Log("连接上客户端");
if (isconn)
{
PhotonNetwork.JoinRandomRoom();//随机加入一个房间
}
}
public override void OnDisconnected(DisconnectCause cause)
{
Debug.Log("没有连接上客户端");
}
//是否加入到随机房间
public override void OnCreatedRoom()
{
Debug.Log("随机加入到房间");
if (PhotonNetwork.CurrentRoom.PlayerCount == 1)
{
PhotonNetwork.LoadLevel("SampleScene");
}
}
public override void OnJoinRandomFailed(short returnCode, string message)
{
Debug.Log("随机加入房间失败");
PhotonNetwork.CreateRoom("One", new RoomOptions() { MaxPlayers = 0 });//创建房间(0代表没有人数限制)
}
}
写完后要再建一个场景test,在test场景中建一个Button,然后把脚本挂在摄像机,把Button拖入脚本的公开按钮中,运行场景后,点击按键,可以看到出来一堆东西,说明我们成功了
重要的事情说三遍,场景一定要发布!一定要发布!一定要发布!!!不然就会报错
导入插件时有可能会报一个错,打开Assets-Photon-PhotonLibs-netstandard2.0-Photon3Unity3D
将它改成Intel64-bit报错就消失了
有了这个可以做很多东西,联网的游戏、专属于自己的聊天室等等等,后期会继续更新!