Photon Unity Networking基础教程 0

简介

Photon Unity Networking(PUN)基本教程是基于Unity3D的教程。 它会告诉你使用Photon云如何开发自己的多人游戏以及怎样使用角色和动画。 我们将学习许多重要的功能、提示和技巧,以大概了解使用PUN进行基于网络开发的方法。

主要内容

  • 概述
  • Photon云
  • 开发

概述

本教程将指导您从一个空项目开始,一步步遍及整个创建过程。 一路上,将解释网络游戏中的概念,以及常见陷阱和设计注意事项。

为了不仅仅让玩家走动而不做任何事情,我们将实施一个基本的射击系统,加上玩家的健康管理,这将帮助我们支持网络中变量同步的解释。

我们还将使用基于房间中的玩家数量的自定义尺寸竞技场,竞技场的尺寸基于当前玩家的数量被调整。 这将显示关于自动同步场景的功能的几个概念,以及一些提示,这些提示是关于在加载不同的场景时候如何处理玩家的,并且在这种情况下什么可能会出错。:)

游戏目标

当游戏被启动时,用户将看到连接协议还有在UI中通知进展。 当房间被加入或创建时,玩家进入可调整大小的竞技场,其中一次可以存在多达4个玩家。 玩家可以跑,转身,以及火焰。 每个玩家发射的火光击中其他玩家时将影响他们的健康。 当你的健康是0,游戏结束离开竞技场。 然后,您再次看到介绍屏幕,让您开始加入一个新游戏。

你应该知道的

本教程仅假设使用Unity编辑器和编程的基本知识。 然而,为了专注于Photon网络新的概念介绍,最好有一些普通的非网络游戏开发经验。

示例代码用C#编写,但在Unity Script中工作类似。

Unity和Photon Cloud

创建一个新的Unity工程

确保您使用Unity 4.7或任何Unity 5版本。 创建一个新的项目,然后,一旦你吸收了概念和设计模式,就可以将它们应用到你自己的项目。

导入PUN和设置

打开资源商店并找到PUN资产并下载、安装它。 当您导入所有Pun Assets时,让Unity重新编译。

PUN设置向导可以帮助您的网络设置,并提供了一个方便的方式开始我们的多人游戏:Photon云!

云? 是的,云。 这是一个Photon服务器,我们可以用于我们的游戏。 这里要解释一下。

以“免费计划”使用云是免费的,这里可以输入申请好的AppId或者邮件地址。

Photon Cloud Screen Shot: Cloud Registration

那么,这个“Photon Cloud”究竟做什么?

基本上,它是一群电脑,Photon服务器运行在上面。 这个“云”的服务器是由Exit Games公司维护,并为您的多人游戏提供无忧服务。 服务器是按需添加的,因此可以处理任何数量的玩家。

即使Photon Cloud不是完全免费的,但是成本也是低的,特别是与常规主机相比。

Photon Unity Networking将为您处理Photon云,下面是内部发生的事情:

每个人都首先连接到“Name Server”。 它检查哪个应用程序您的客户端(使用AppId)和客户端要使用哪个区域。 然后将客户端转发到主服务器(Master Server)。

主服务器是一群区域服务器的中心。 它知道所有现有的游戏。 每当游戏(房间)被创建或加入时,客户端都会被转发到其他机器 - 称为“游戏服务器(Game Server)”。

PUN中的设置非常简单,您不必关心托管成本,性能或维护。

房间Rooms

Photon Cloud使用“基于房间游戏”的思想来构建,意思是每场比赛玩家有限制(比方说:小于10),与其他人分开。 在一个房间(通常),每个人都收到任何其他人发送。 在房间外面时,玩家不能沟通,所以我们总是希望他们尽快进入房间。

进入房间的最佳方法是使用随机匹配。 我们只是要求进入服务器的任何房间或具有某些属性的房间。

所有房间都有一个名称作为标识符。 除非房间已满或关闭,我们可以通过名字加入。方便起见,主服务器可以提供是我们的应用程序的房间的列表。

大厅Lobby

您的应用程序的大厅存在于主服务器上。 在我们的例子中,我们不会使用大厅,只要加入一个随机房间(如果有的话),或者创建一个新房间,如果没有现有的房间(房间可以有最大容量,所以他们可能是都满了)。

AppIDs和游戏版本

如果每个人都连接到相同的服务器,必须有一种方法来将玩家与其他人分开。

每个游戏(如在应用程序中)在Cloud中获取自己的“AppId”。 玩家只有在与具有相同的“AppId”的其他玩家遇到。

还有一个“游戏版本”,你可以用来分离玩家与老客户端与那些与较新的。

地区

Photon Cloud被组织在全球各个地区,以防止与玩家的距离太远,连接不好。 重要的是要理解这个概念,特别是当在不同地区与远程团队合作时。 因为地区划分,与您的队友测试游戏可能就不行了。 所以,确保所有测试者所在区域是相同的。

开发

下面每个部分涵盖了项目开发阶段的一个具体的部分,按顺序进行很重要。
脚本和Photon Cloud知识水平也逐渐增加。

  1. 创建基本大厅场景。
  2. 通过用户界面(UI)改善大厅场景。
  3. 创建游戏场景。
  4. 实现级别加载。
  5. 创建基本Player Prefab。
  6. 使相机跟随您的玩家。
  7. 修改Player Prefab以添加网络功能。
  8. 玩家实例化和场景切换。
  9. 玩家用户界面(UI)。

小结

好的,我们实现了一个工作系统,用户在互联网上与其他玩家互动,以基本要求实现良好的体验。

我们已经学习了如何控制PUN,如何监听PUN状态和当前上下文,以及利用直观的组件轻松使用Animator。

我们还学习了Photon的一些有趣的功能,如自动场景同步,创建原始和强大的GamePlays。

要创建一个完整的游戏还有很多事情要做,准备发布,但这只是建立在我们在这里介绍内容的基础之上。

  • 请务必阅读“开始使用”部分。
  • 请浏览文档API参考,可以大体知道都有什么。 你可能不需要所有的东西,但当你需要或实现新功能的时候能够记起来。 你会记得一些相关的功能或属性,所以现在是时候正确地学习它们了。
  • 使用论坛,不要犹豫分享你的问题,甚至挫折:)你不会被问题困住是至关重要的。 把问题写出来让别人理解,你会把你的问题有条理的整理出来,这有助于问题的解决。 没有愚蠢的问题,这一切都取决于你的专业水平和你在学习/掌握Unity和PUN的程度。

原文地址

http://doc.photonengine.com/en-US/pun/current/tutorials/pun-basics-tutorial/intro

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容