C++/C# Photon Integration Sample
Photon是一个网络引擎和多人平台,可以在自己的服务器上处理所有请求。因此,要创建多人联网解决方案,您需要在UNIGINE项目中实现应用程序(游戏玩法)逻辑和功能,而联网部分则使用Photon完成。这个小示例演示了如何将Photon引擎集成到UNIGINE项目中,使其成为一个多人应用程序。
两个Photon产品集成到Photon Integration第三方样品中:
- Photon Realtime通过网络安排多人互动。它可以用于创建多人射击游戏,赛车游戏和其他实时应用程序。
- Photon Chat允许用户公开和私下交换书面消息。
样本包含以下元素:
- 简化授权窗口输入用户昵称,这可以作为更精细的授权窗口的基础,使用密码等
- 大厅窗口创建一个房间,并检查创建的房间列表可供连接
- 包含可操作的实际对象和用于交换消息的聊天窗口
通过网络传输数据#
Photon 示例包含Utils,演示如何通过Photon 传输UNIGINE 数据类型。
使用Photon通过网络直接传输UNIGINE数据是不可能的——它们应该在发送之前进行序列化,然后在另一方接收时进行反序列化。 Photon 能够序列化和反序列化此处(点击 Common-cpp - data types and utilities)列出的数据集。同样的数据类型信息以PDF文件的形式提供,方便您使用。
其他特定的数据类型(如转换矩阵)应该以我们示例中所示的特定方式注册,以实现正确的序列化/反序列化过程。
检查这个示例并创建您自己的应用程序,集成由Photon开发的更多网络解决方案。
如何运行样本#
要使用Photon产品,请在Photon网站(www.photonengine.com)注册并执行以下操作:
-
下载所需sdk 。
转到sdk(右上角的选项卡)。
要运行这个示例,您需要两个0_php产品的sdk:
- REALTIME - Windows/Linux支持C++或。net支持C#
- CHAT - Windows/Linux支持C++或。net支持C#
-
添加二进制文件。
在Photon样本文件夹中,找到PhotonSDK文件夹。根据Readme.txt文件中提供的结构将所有二进制文件复制到这个文件夹中,Readme.txt文件也在这个文件夹中。
示例Windows C++项目,聊天SDK二进制文件Windows C#项目示例,聊天SDK二进制文件 -
创建应用id 。
转到Dashboards(右上角的选项卡)。
在Dashboards部分中,单击0_ight。
您需要为 Photon 示例创建两个应用程序:一个使用 Realtime Photon SDK,另一个使用 Chat Photon SDK。
创建一个实时光子应用程序创建一个聊天光子应用程序现在您有两个应用程序,可以在示例中使用它们的id。每个实例使用相同的ID(即其他参与者不需要创建自己的应用程序)。
-
将应用id添加到示例项目中。
在项目文件夹中找到data/application_params.json并将id粘贴到相应的行。
{ "realtime_application_id": "______________", "realtime_application_version": "1.0", "chat_application_id": "_________________", "chat_application_version": "1.0" }
就是这里。现在运行应用程序,并要求你的朋友也这样做。
如果你是单独测试,在你的PC上运行一两个实例,并在不同的窗口之间切换以获得一瞥。
如何使用样品#
在运行示例时,您将看到一个基本的授权表单。输入您的昵称并单击Join Lobby。
接下来将显示Lobby窗口。如果您是第一个,并且列表中没有房间,则单击Create Room,房间将被创建。
如果所有用户在创建了这个房间之后加入,那么在data/application_params.json中使用相同的Photon id的用户将看到以昵称命名的房间。
双击房间名称以加入该房间。
一旦世界打开,您可以使用WASD按钮移动您的材料球,使用QE旋转它,并单击鼠标左键射击其他玩家。
您可以输入消息以将它们发送给所有用户,或者发送以@username开头的消息以与该用户交换私有消息。(当然,您应该知道用户名,应用程序没有任何特定的接口让您知道它。)
由于生活进度条为空,屏幕上将显示Leave按钮。点击它返回大厅。