Unity联网插件(PUN)
PUN簡單介紹:
Photon引擎屬于Exit Games公司,是世界排名第一的獨立網絡引擎和多人通信平臺,適用于獨立開發者和專業工作室
Photon引擎具有通信快速、高可靠性、使用方便、容易擴展等優點
針對Unity網絡游戲開發,Photon引擎是首選服務器引擎
PUN網絡連接狀態:
PUN具體操作:
在官網中下載PUN2,導入Unity(Unity版本必須在2018以上)
Multiplayer Game Development Made Easy | Photon Engine Global cross platform multiplayer game backend as a service (SaaS, Cloud) for synchronous and asynchronous games and applications. SDKs are available for android, iOS, .NET., Mac OS, Unity 3D, Windows, Unreal Engine, HTML5 and others.https://www.photonengine.com/en-US/Photon
先在光子中注冊,注冊后點這個創建一個應用程序
?然后填寫名字和項目類型,我這里選的是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報錯就消失了
有了這個可以做很多東西,聯網的游戲、專屬于自己的聊天室等等等,后期會繼續更新!
總結
以上是生活随笔為你收集整理的Unity联网插件(PUN)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言中的函数(详解)
- 下一篇: 大数据系列cdh版本下载