进入房间前的配置

1、使用设定好的Setting

    private void Start(){PhotonNetwork.ConnectUsingSettings();}

2、MonoBehaviour改为MonoBehaviourPunCallbacks

public class NetworkLauncher : MonoBehaviourPunCallbacks{}

这样我们才可以获得Photon服务端的一些反馈资料

3、连接到Photon服务器

    public override void OnConnectedToMaster(){base.OnConnectedToMaster();  //连接Photon服务器print("Welcome");PhotonNetwork.JoinLobby(default);  //进入游戏大厅}

4、加入或创建房间

    public void JoinOrCreateButton() {RoomOptions options = new RoomOptions{MaxPlayers = 10  //最大玩家人数};PhotonNetwork.JoinOrCreateRoom("MyRoom", options, default);}

5、加入或者创建房间后做场景跳转

    public override void OnJoinedRoom(){PhotonNetwork.LoadLevel(1);}

完整代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
using Photon.Realtime;
using UnityEngine.UI;public class NetworkLauncher : MonoBehaviourPunCallbacks
{public GameObject loginUI;public GameObject nameUI;public InputField roomName;public InputField playerName;public GameObject roomListUI;private void Start(){PhotonNetwork.ConnectUsingSettings();}public override void OnConnectedToMaster(){base.OnConnectedToMaster();print("Welcome");nameUI.SetActive(true);PhotonNetwork.JoinLobby(default);}public void PlayButton() {nameUI.SetActive(false);//NickName玩家名字PhotonNetwork.NickName = playerName.text;loginUI.SetActive(true);if (PhotonNetwork.InLobby) {roomListUI.SetActive(true);}}public void JoinOrCreateButton() {if (roomName.text.Length < 2) return;loginUI.SetActive(false);RoomOptions options = new RoomOptions{MaxPlayers = 10};PhotonNetwork.JoinOrCreateRoom(roomName.text, options, default);}public override void OnJoinedRoom(){PhotonNetwork.LoadLevel(1);}
}

输入名字,进入游戏大厅

进入大厅,设置房间名后进入房间,可创建房间或者加入房间

进入房间后的配置

1、实例化生成玩家对象

GameObject Player = PhotonNetwork.Instantiate("Player", Vector.one,Quaternion.identity, 0);

预制体需要放在PhotonUnityNetworking/Resources包中

2、限定玩家操作,防止当前对象操作另一玩家对象

    private void Update(){//如果操作的不是自己的玩家对象,则直接返回trueif (!photonView.IsMine && PhotonNetwork.IsConnected) return;}

3、Photon数据同步和状态同步

(1)需要同步的物体,要挂上PhotonView组件

(2)Photon为我们提供了位置同步Animator的同步,直接挂上去即可完成公布

(3)自定义数据同步

i.需要继承IpunObservable

ii.需要实现自定义接口

public class Test : MonoBehaviourPunCallbacks,IPunObservable
{public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info){if (stream.IsWriting){stream.SendNext(IsthereAnyone);}else {IsthereAnyone = (bool)stream.ReceiveNext();}}
}

Unity-Photon Pun2个人总结相关推荐

  1. Unity Photon服务器

    unity Photon服务器(一) -创建房间和加入房间 unity Photon服务器目前比较火,有好多商用的,国外的Photon教程有很多可是国内的教程比较少,所以我才想写一下教程,希望有用. ...

  2. Unity+ Photon服务器实时对战游戏——Photon服务器介绍(一)

    最近打算做实时对战的类似lol的游戏,也在学习使用Photon服务器,就分享一下.这可能是一个系列文章.记录一下学习过程,分享一下经验收获. 今天先介绍一下Photon服务器是什么,可以做什么,为什么 ...

  3. photon pun2 设置中国区

    photon 网址 https://dashboard.photonengine.com/zh-CN 先创建一个app,这里的appid等等会用到 中国区 https://vibrantlink.co ...

  4. unity+PHOTON+同步实例

    这里只作实例运行说明,请下载实例后对照配置.实例下载点这里. u3D版本:2018.PHOTON版本:4V.服务器端工具自行下载. 打开GAME文件夹.引入相关插件.然后选择生成.Photon-Ser ...

  5. unity photon中技能效果网络同步

    困扰很多天的技能效果同步终于解决了,办法: 1.将技能创建数组,把预制件赋值给英雄技能数组: 2.技能添加碰撞事件: 3.在释放生成技能时用PunRPC,同步到所有客户端,这时所有的技能效果就可以同步 ...

  6. Unity+Photon自制多人TPS游戏

    最近自制了一款TPS游戏.

  7. PUN2多人联网之房间选择、创建房间

    前言 这篇文章的由来是:总结一下我在unity对PUN2的使用.我的开发环境是--Windows10.Visual Studio2019.unity2020.3.20f1,目的是为pico neo3开 ...

  8. Unity 使用Photon Server 联网开发(二)游戏同步+房间列表

    photon联机的配置: 直接去官网下载Pun的资源包导入项目,设置PhotonServerSettings配置文件,配置appid.通讯协议.服务器地址.端口号:服务器地址可以配置成自己本地服务器. ...

  9. 配置photon服务器,unity连接Photon

    我真是语文学的不好..这东西看别人的博客感觉照抄还是要弄一天 首先先弄个服务器.服务器文件放在你放Photon文件下的deloy目录下. 1.visualStudio新建一个 用于"用于创建 ...

  10. Unity连接Photon

    1.创建一个Unity项目 2.创建一个名为Plugins的文件夹,并且把Photon的lib里面的Photon3Unity3D.dll文件复制到Plugins文件夹下面(注意这边文件夹的创建名字千万 ...

最新文章

  1. 极光 php 自定义消息,laravel框架使用极光推送消息操作示例
  2. Windows下更改MySQL 数据库文件存放位置
  3. Mybatis执行过程源码分析
  4. CSS元素高度塌陷的几种常见解决办法!
  5. QML基础类型之geocircle
  6. ImageView一例
  7. java决策树_【Java】决策树介绍和使用
  8. linux内核关闭网络巨帧xenomai,xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务...
  9. Flutter Icons 与 CupertinoIcons 的不一样的体验
  10. 【Caffe】训练ImageNet模型
  11. 大佬 Python 对阵新秀 Julia ,谁能问鼎机器学习和数据科学?
  12. react js 之生命周期
  13. 实战matlab之文件与数据接口技术,实战MATLAB之文件与数据接口技术
  14. [带权并查集] Jzoj P1503 体育场
  15. Skype国际版使用国内卡
  16. BlackBerry HTML5 WebWorks 平台下,让BB10应用连接上BBM
  17. 我用 Python 自制成语接龙小游戏,刺激!
  18. 六款国产杀毒软件资源占用测试,八款杀毒软件横向评测:系统资源占用篇
  19. 智能网联时代汽车智能座舱操作系统的发展
  20. 2020-08-15

热门文章

  1. Python 农历公历日期转换
  2. OpenAI 开源语音识别模型 Whisper 初体验
  3. python_分类_category方法
  4. 500次 “LOVE“的歌词 Taylor Swift歌词数据可视化分享
  5. DSP TMS320C6455 中断解析
  6. QQ空间欢迎动画代码大全
  7. 小组取什么名字好_给小组取个好名字
  8. 阿里云Centos6数据盘扩容的问题处理
  9. 让cocos2d-x 3.0读取cocostudio中的csb文件
  10. 模电学习感想,也叫笔记