首页 > 其他分享 >Photon光子引擎的使用(一)

Photon光子引擎的使用(一)

时间:2023-04-05 23:45:20浏览次数:51  
标签:PhotonNetwork 光子 Photon Unity 引擎 服务器 NetworkManager

Photon引擎简介

Photon引擎是一款实时的、跨平台的网络引擎,它使得开发者可以轻松地为多人在线游戏、实时应用和VR应用添加实时联网功能。它提供了可靠的实时通信和同步功能,以确保每个用户都能获得一致且紧密集成的体验。 Photon引擎由德国Exit Games公司开发,目前已被许多著名游戏公司和独立开发者成功采用。

主要功能

1.实时通信:Photon引擎提供了低延迟的UDP通信,以便在实时应用中传输关键数据。
2.跨平台:支持多种平台,包括Windows、macOS、Linux、iOS、Android、WebGL等。
3.可扩展:可根据需要简单地扩展服务器和客户端的功能。
4.高可用:具有强大的负载均衡和容错能力,确保长时间的稳定运行。
5.简单集成:与Unity、Unreal Engine、Cocos2d-x等流行游戏引擎和开发工具兼容。

主要组件

1.Photon Server:服务器端软件,负责管理客户端之间的数据同步和通信。
2.Photon Cloud:基于云的Photon服务器,无需自己搭建服务器,可直接使用。
3.Photon SDK:客户端SDK,提供了用于连接Photon服务器和实现实时同步功能的API。

Photon引擎的使用

准备工作

1.创建一个新的Unity项目。
2.在Unity Asset Store中搜索并导入Photon PUN2 (PUN)插件。这是Photon官方提供的用于Unity的SDK。

得到App ID

1.访问Photon官网,注册一个免费帐户并登录。
Photon官网

2.创建一个新的应用,并记下App ID。这将用于连接Photon服务器。

在Unity中设置Photon

1.在Unity中,选择Window > Photon Unity Networking > PUN Wizard。
2.在PUN Wizard窗口中,选择Setup Project,输入之前获得的App ID,然后点击Setup。

开始编写代码

1.创建一个新的游戏对象,命名为NetworkManager,并在其上添加一个新的C#脚本,同样命名为NetworkManager。
2.编辑NetworkManager脚本,继承自Photon.Pun.MonoBehaviourPunCallbacks类,并实现所需的方法,例如OnConnectedToMaster、OnJoinedRoom等。
3.在NetworkManager脚本中,使用PhotonNetwork类提供的API来连接Photon服务器、创建房间、加入房间、同步数据等。

using UnityEngine;
using Photon.Pun;
using Photon.Realtime;

public class NetworkManager : MonoBehaviourPunCallbacks
{
    void Start()
    {
        // 连接Photon服务器
        PhotonNetwork.ConnectUsingSettings();
    }

    public override void OnConnectedToMaster()
    {
        // 成功连接到Photon服务器后,尝试加入一个随机房间
        PhotonNetwork.JoinRandomRoom();
    }

    public override void OnJoinRandomFailed(short returnCode, string message)
    {
        
        // 如果没有找到房间,创建一个新房间
       PhotonNetwork.CreateRoom(null, new RoomOptions());
    }

    public override void OnJoinedRoom()
    {
        // 成功加入房间后,实例化玩家对象并同步
        PhotonNetwork.Instantiate("PlayerPrefab", Vector3.zero, Quaternion.identity);
    }
}

标签:PhotonNetwork,光子,Photon,Unity,引擎,服务器,NetworkManager
From: https://www.cnblogs.com/wjc666/p/17291313.html

相关文章

  • BPM工作流引擎常见的术语和概念介绍
    本文重点介绍BPM业务流程管理中常常用到概念和术语,这些概念同样适用于JBPM、Activiti、Flowable、Camunda等主流的开源流程引擎。一、BPM模型符号协议1、BPMN(业务流程模型和标记法)BPMN:业务流程模型和标记法(BPMN,BusinessProcessModelandNotation)是一套图形化表示法,用......
  • 复杂多变场景下的Groovy脚本引擎实战
    一、前言因为之前在项目中使用了Groovy对业务能力进行一些扩展,效果比较好,所以简单记录分享一下,这里你可以了解:为什么选用Groovy作为脚本引擎了解Groovy的基本原理和Java如何集成Groovy在项目中使用脚本引擎时做的安全和性能优化实际使用的一些建议二、为什么使用脚本语言2.1脚本语......
  • 分布式搜索引擎Elasticsearch的架构分析
    一、写在前面 ES(Elasticsearch下文统一称为ES)越来越多的企业在业务场景是使用ES存储自己的非结构化数据,例如电商业务实现商品站内搜索,数据指标分析,日志分析等,ES作为传统关系型数据库的补充,提供了关系型数据库不具备的一些能力。ES最先进入大众视野的是其能够实现全文搜索的能力,也......
  • 搜索引擎关键词采集,联系任务采集,网址采集
    使用搜索引擎进行关键词的采集,可以让我们获得更多的信息并准确地找到我们所需要的内容。通过使用搜索引擎,我们可以快速搜索全球各地的网页、文章、资料以及其他文档。除此之外,搜索引擎还提供与主题相关的相关性排序,这样可以更快速有效地了解当前所要访问的内容。在工作场景下,使用......
  • 为虚幻引擎C++项目设置Visual Studio开发环境 | 虚幻引擎5.1文档 (unrealengine.com)
    设置VisualStudio设置VisualStudio以使用虚幻引擎的提示、技巧和技术Beginner本页面的内容版本兼容性新安装VisualStudio时的选项推荐设置虚幻引擎(简称UE) 能与 VisualStudio(简称VS) 完美结合,使你能够快速、简单地改写项目代码,并能即刻查......
  • 设置Visual Studio以使用虚幻引擎的提示、技巧和技术
    设置VisualStudio设置VisualStudio以使用虚幻引擎的提示、技巧和技术Beginner本页面的内容版本兼容性新安装VisualStudio时的选项推荐设置虚幻引擎(简称UE) 能与 VisualStudio(简称VS) 完美结合,使你能够快速、简单地改写项目代码,并能即刻查......
  • 聚焦用户精细化运营场景,极客邦科技与火山引擎数智平台达成合作
     更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 近日,北京极客邦科技有限公司(以下简称“极客邦科技”)与火山引擎数智平台VeDI达成合作,双方将聚焦用户运营场景下的数智升级展开系列协作。极客邦科技以KaaS模式服务数字人才全面......
  • 存储引擎和数据类型
    目录配置文件存储引擎(面试用)mysql的基本数据类型1.整形2.浮点型3.字符串4.日期类型5.枚举与集合整型中括号内数字的作用(面试用)创建表的完整语法配置文件#1.复制my-default.ini文件#2.命名为my.ini#3.修改完配置文件只会,一定别忘重启服务端存储引擎(面试用)#理论部分......
  • 实验一-密码引擎-3-加密API研究
    一、任务详情密码引擎API的主要标准和规范包括:1微软的CryptoAPI2RAS公司的PKCS#11标准3中国商用密码标准:GMT0016-2012智能密码钥匙密码应用接口规范,GMT0018-2012密码设备应用接口规范等研究以上API接口,总结他们的异同,并以龙脉GM3000Key为例,写出调用不同接口的代码,提交......
  • 跨境电商时代的“智慧引擎”:探索大数据如何推动跨境电商发展
    如今跨境电商成为了国际贸易领域的一个新热点,而大数据技术的应用,则为跨境电商的发展提供了强大的助力。本文将从大数据的角度探讨如何推动跨境电商的发展,以及大数据技术在跨境电商中的应用。 一、大数据与跨境电商随着全球化的加速,跨境电商已成为全球贸易的一部分。跨境电商......