1 简介

        Photon 是一个泛用性的 ScoketServer 套装软件,可用于多人在线游戏、聊天室、大厅游戏,并同时支持 Windows、Unity3D、iOS、Android、Flash 等平台。Photon 包含两个部分,一部分是 Socket 服务器,另一部分是其针对各个平台编写的 SDK,Unity3D 平台对应的 SDK 为 Photon Unity Networking(PUN)。PUN 官方介绍见→PUN简介

2 环境搭建

        1)创建 PUN 云服务器

        在 https://dashboard.photonengine.com/zh-CN 网站注册账号,再创建一个云服务器,如下:

unity 服务器设置数据下来 unity3d服务器_Unity3D

        说明:免费版 PUN 云服务器最多支持 20 个玩家同时在线;这里申请的云服务器在国外,网络非常卡顿,可以按照 2)中步骤申请国内云服务器。

         2)申请国内 PUN 云服务器

        在 https://vibrantlink.com/chinacloudapply/ 网站申请国内 PUN 云服务器,如下:

unity 服务器设置数据下来 unity3d服务器_Unity3D_02

         说明:剩下未展示的选项用户可以随便填写,审批需要等待 1~2 个工作日,审批通过后会收到邮件通知(一般会通过的),申请成功后再使用该 App ID 配置 PhotonServerSettings 就不会网络卡顿。

        3)下载 PUN

        Photon 官网未提供 PUN 下载入口,需要先将 PUN 添加到 Unity 账户下,再去 Unity Editor 里下载。快速下载→Photon网络框架资源包。

        点进 https://assetstore.unity.com/packages/tools/network/pun-2-free-119922 网站,将 PUN 添加至我的资源(过程中会提示登录 Unity 账号),如下:

unity 服务器设置数据下来 unity3d服务器_Unity3D_03

        在 Unity Hub 中登录 Unity 账号,再打开或新建一个项目,此时会进入 Unity Editor 里,依次选择【Window→Package Manager】打开 Package Manager 窗口,再选择 My Assets,如下:

unity 服务器设置数据下来 unity3d服务器_光子引擎_04

         选中 PUN 2 - FREE,在右边窗口点击 Download 按钮开始下载(笔者已下载过,这里显示的是 Re-Download),再点击 Import 按钮开始导入,如下:

unity 服务器设置数据下来 unity3d服务器_PUN_05

        说明:PUN 资源会导入到 Assets 目录下的 Photon 文件夹里,如下:

unity 服务器设置数据下来 unity3d服务器_光子引擎_06

        4)配置 PhotonServerSettings

        参照 https://vibrantlink.com/chinacloudpun/ 中说明配置 PhotonServerSettings 文件。

        在 Assets 窗口选中【\Assets\Photon\PhotonUnityNetworking\Resources\PhotonServerSettings】文件,在 Inspector 窗口配置如下:

unity 服务器设置数据下来 unity3d服务器_Unity3D_07

3 官方 Demo

        Photon 官方提供了一个多人网络对战的 Demo,在【\Assets\Photon\PhotonUnityNetworking\Demos\PunBasics-Tutorial\Scenes】目录下,如下:

unity 服务器设置数据下来 unity3d服务器_unity 服务器设置数据下来_08

        该 Demo 的官方教程见→https://doc.photonengine.com/en-us/pun/current/demos-and-tutorials/pun-basics-tutorial/intro

        依次选择【File→Build Settings】打开构建设置窗口,将以上 5 个 Scene 拖拽到 Scenes In Build 栏目,再点击 Build 按钮开始构建。

        打开 4 个游戏程序,运行效果如下:

unity 服务器设置数据下来 unity3d服务器_光子引擎_09