Unity-Photon Pun2个人总结
进入房间前的配置
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个人总结相关推荐
- Unity Photon服务器
unity Photon服务器(一) -创建房间和加入房间 unity Photon服务器目前比较火,有好多商用的,国外的Photon教程有很多可是国内的教程比较少,所以我才想写一下教程,希望有用. ...
- Unity+ Photon服务器实时对战游戏——Photon服务器介绍(一)
最近打算做实时对战的类似lol的游戏,也在学习使用Photon服务器,就分享一下.这可能是一个系列文章.记录一下学习过程,分享一下经验收获. 今天先介绍一下Photon服务器是什么,可以做什么,为什么 ...
- photon pun2 设置中国区
photon 网址 https://dashboard.photonengine.com/zh-CN 先创建一个app,这里的appid等等会用到 中国区 https://vibrantlink.co ...
- unity+PHOTON+同步实例
这里只作实例运行说明,请下载实例后对照配置.实例下载点这里. u3D版本:2018.PHOTON版本:4V.服务器端工具自行下载. 打开GAME文件夹.引入相关插件.然后选择生成.Photon-Ser ...
- unity photon中技能效果网络同步
困扰很多天的技能效果同步终于解决了,办法: 1.将技能创建数组,把预制件赋值给英雄技能数组: 2.技能添加碰撞事件: 3.在释放生成技能时用PunRPC,同步到所有客户端,这时所有的技能效果就可以同步 ...
- Unity+Photon自制多人TPS游戏
最近自制了一款TPS游戏.
- PUN2多人联网之房间选择、创建房间
前言 这篇文章的由来是:总结一下我在unity对PUN2的使用.我的开发环境是--Windows10.Visual Studio2019.unity2020.3.20f1,目的是为pico neo3开 ...
- Unity 使用Photon Server 联网开发(二)游戏同步+房间列表
photon联机的配置: 直接去官网下载Pun的资源包导入项目,设置PhotonServerSettings配置文件,配置appid.通讯协议.服务器地址.端口号:服务器地址可以配置成自己本地服务器. ...
- 配置photon服务器,unity连接Photon
我真是语文学的不好..这东西看别人的博客感觉照抄还是要弄一天 首先先弄个服务器.服务器文件放在你放Photon文件下的deloy目录下. 1.visualStudio新建一个 用于"用于创建 ...
- Unity连接Photon
1.创建一个Unity项目 2.创建一个名为Plugins的文件夹,并且把Photon的lib里面的Photon3Unity3D.dll文件复制到Plugins文件夹下面(注意这边文件夹的创建名字千万 ...
最新文章
- 极光 php 自定义消息,laravel框架使用极光推送消息操作示例
- Windows下更改MySQL 数据库文件存放位置
- Mybatis执行过程源码分析
- CSS元素高度塌陷的几种常见解决办法!
- QML基础类型之geocircle
- ImageView一例
- java决策树_【Java】决策树介绍和使用
- linux内核关闭网络巨帧xenomai,xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务...
- Flutter Icons 与 CupertinoIcons 的不一样的体验
- 【Caffe】训练ImageNet模型
- 大佬 Python 对阵新秀 Julia ,谁能问鼎机器学习和数据科学?
- react js 之生命周期
- 实战matlab之文件与数据接口技术,实战MATLAB之文件与数据接口技术
- [带权并查集] Jzoj P1503 体育场
- Skype国际版使用国内卡
- BlackBerry HTML5 WebWorks 平台下,让BB10应用连接上BBM
- 我用 Python 自制成语接龙小游戏,刺激!
- 六款国产杀毒软件资源占用测试,八款杀毒软件横向评测:系统资源占用篇
- 智能网联时代汽车智能座舱操作系统的发展
- 2020-08-15