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)相关推荐

  1. Unity常见插件汇总

    Unity常见插件汇总 介绍 收集了相关的Unity插件,供大家学习使用,如果用于商业活动,请购买相关版权 插件列表 1. A* Pathfinding Project 一个功能强大并且易于使用的 U ...

  2. MMD的unity导入插件

    2019独角兽企业重金招聘Python工程师标准>>> 存在一个mmd模型的unity导入插件: 导入了mmd的物理,将模型每个部位通过 custom的joint进行连接,设定物理属 ...

  3. 使用加密锁加密Unity工程插件源码

    使用加密锁加密Unity工程插件源码 最近在unity3D中开发了一款插件,需要卖给客户,但是公司需要隐藏插件的源码,而且保证客户只有指定的电脑才能使用该插件开发!针对这个问题,分为两个步骤:1.隐藏 ...

  4. Unity网页插件Embedded Browser(ZFBrowser)打包文件无法加载本地网页或网站网址解决方法

    Unity网页插件Embedded Browser(ZFBrowser)打包文件无法加载本地网页或网站网址解决方法 问题:最近使用ZFBrowser开发VR嵌入网页发现出现一个问题,在编辑器模式下场景 ...

  5. Unity 常用插件

    Unity 常用插件 1.NGUI,算是最常用的UI插件了,下载地址:https://download.csdn.net/download/xiaoyaoACi/21028754 2.FingerGe ...

  6. Unity Spine插件使用

    Unity Spine插件使用 Spine是针对游戏开发的2D骨骼动画.Unity本身并不支持播放spine文件需要安装 Unity Spine插件才能支持. Spine插件下载安装 Spine插件可 ...

  7. Unity 编辑器插件-快速删除组件

    尊重原著:(1条消息) Unity 编辑器插件-快速删除组件_unity 删除组件_菜菜ANY的博客-CSDN博客 实现删除所选物体及子物体中指定组件.自动apply 同时考虑一个物体上挂在多个相同组 ...

  8. 雕刻笔应用开发,3D Systems Openhaptics Unity Plugin插件使用心得

    雕刻笔应用开发,3D Systems Openhaptics Unity Plugin插件使用心得 驱动安装: 1.根据设备型号下载对应驱动. https://3dssupport.microsoft ...

  9. Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换

    Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换 *版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 Cinemachine插 ...

  10. Unity Cinemachine插件学习笔记

    以下都是转载内容,能够比较直观的学习一些基础内容.现在的Cinemachine更新了许多新的功能,但是Cinemachine插件都ExamplesScences,去看一下官方例子和文档来学习更佳 *版 ...

最新文章

  1. python五子棋双人对弈_PyQt5实现五子棋游戏(人机对弈)
  2. TopFreeTheme精选免费模板【20130701.特别版】
  3. llinux环境变量查看和修改
  4. 堆化 二叉堆一般用数组来表示。typedef struct _minHeapNodetypedef struct _otherInfo-icoding-C-数据结构
  5. 欧洲进出口银行_欧洲对开放银行的推动如何迫使银行应用改善用户体验
  6. Cookies 和 Session的区别
  7. 1一10到时的英文单词_哈尔滨一山羊皮,叫雪地皮衣!刮风下雪不冻身,10年免洗不过时...
  8. Java 获取指定日期的方法汇总
  9. ORACLE自增字段创建方法
  10. HDU 1754 I Hate It 基础线段树
  11. 如何处理iOS中照片的方向
  12. USRP N310+OAI 5G NR分支编译运行
  13. 微信小程序下载文件,保存文件功能总结
  14. Nginx面试题总结大全
  15. 【opencv】 报错:C2065 “CV_COVAR_ROWS”、“CV_COVAR_NORMAL”、“CV_COVAR_SCALE”: 未声明的标识符、
  16. 孙子算经 之 物不知数(韩信点兵)
  17. 单片机学习-利用intrins.h中的_crol_和_cror_进行流水灯位移
  18. STM32掌机教程8,背景音乐
  19. 游戏产业链:游戏引擎
  20. C语言:判断一个数是否为素数/质数

热门文章

  1. DH参数例子-SCARA机器人
  2. 共阳极管的代码_《手把手教你学FPGA》第三章设计实例
  3. java手机单机游戏_手机单机游戏推荐简介
  4. 当vs2005番茄助手试用过期,并报错的解决方法
  5. 卸载搜狗拼音输入法linux,Ubuntu下使用搜狗拼音输入法
  6. 瑞星杀毒软件爆出高危漏洞 可被利用为“抓鸡工具”
  7. 介绍几款最好使用的模拟器怎么下载。
  8. 转帖: 如何备份和恢复BIG-IP V9.0
  9. 方正飞腾4.0视频教程
  10. easyUI之新增,下架以及上架