Photon Unity Networking基礎(chǔ)教程 0

簡介

Photon Unity Networking(PUN)基本教程是基于Unity3D的教程望伦。 它會告訴你使用Photon云如何開發(fā)自己的多人游戲以及怎樣使用角色和動畫舍悯。 我們將學(xué)習許多重要的功能、提示和技巧嚣鄙,以大概了解使用PUN進行基于網(wǎng)絡(luò)開發(fā)的方法肺魁。

主要內(nèi)容

  • 概述
  • Photon云
  • 開發(fā)

概述

本教程將指導(dǎo)您從一個空項目開始添瓷,一步步遍及整個創(chuàng)建過程渺蒿。 一路上痢士,將解釋網(wǎng)絡(luò)游戲中的概念彪薛,以及常見陷阱和設(shè)計注意事項茂装。

為了不僅僅讓玩家走動而不做任何事情,我們將實施一個基本的射擊系統(tǒng)善延,加上玩家的健康管理少态,這將幫助我們支持網(wǎng)絡(luò)中變量同步的解釋。

我們還將使用基于房間中的玩家數(shù)量的自定義尺寸競技場易遣,競技場的尺寸基于當前玩家的數(shù)量被調(diào)整彼妻。 這將顯示關(guān)于自動同步場景的功能的幾個概念,以及一些提示豆茫,這些提示是關(guān)于在加載不同的場景時候如何處理玩家的侨歉,并且在這種情況下什么可能會出錯。:)

游戲目標

當游戲被啟動時揩魂,用戶將看到連接協(xié)議還有在UI中通知進展幽邓。 當房間被加入或創(chuàng)建時,玩家進入可調(diào)整大小的競技場火脉,其中一次可以存在多達4個玩家牵舵。 玩家可以跑,轉(zhuǎn)身倦挂,以及火焰畸颅。 每個玩家發(fā)射的火光擊中其他玩家時將影響他們的健康。 當你的健康是0方援,游戲結(jié)束離開競技場没炒。 然后,您再次看到介紹屏幕犯戏,讓您開始加入一個新游戲送火。

你應(yīng)該知道的

本教程僅假設(shè)使用Unity編輯器和編程的基本知識。 然而笛丙,為了專注于Photon網(wǎng)絡(luò)新的概念介紹漾脂,最好有一些普通的非網(wǎng)絡(luò)游戲開發(fā)經(jīng)驗。

示例代碼用C#編寫胚鸯,但在Unity Script中工作類似骨稿。

Unity和Photon Cloud

創(chuàng)建一個新的Unity工程

確保您使用Unity 4.7或任何Unity 5版本。 創(chuàng)建一個新的項目,然后坦冠,一旦你吸收了概念和設(shè)計模式形耗,就可以將它們應(yīng)用到你自己的項目。

導(dǎo)入PUN和設(shè)置

打開資源商店并找到PUN資產(chǎn)并下載辙浑、安裝它激涤。 當您導(dǎo)入所有Pun Assets時,讓Unity重新編譯判呕。

PUN設(shè)置向?qū)Э梢詭椭木W(wǎng)絡(luò)設(shè)置倦踢,并提供了一個方便的方式開始我們的多人游戲:Photon云!

云侠草? 是的辱挥,云。 這是一個Photon服務(wù)器边涕,我們可以用于我們的游戲晤碘。 這里要解釋一下。

以“免費計劃”使用云是免費的功蜓,這里可以輸入申請好的AppId或者郵件地址园爷。

Photon Cloud Screen Shot: Cloud Registration

那么,這個“Photon Cloud”究竟做什么式撼?

基本上童社,它是一群電腦,Photon服務(wù)器運行在上面端衰。 這個“云”的服務(wù)器是由Exit Games公司維護叠洗,并為您的多人游戲提供無憂服務(wù)。 服務(wù)器是按需添加的旅东,因此可以處理任何數(shù)量的玩家灭抑。

即使Photon Cloud不是完全免費的,但是成本也是低的抵代,特別是與常規(guī)主機相比腾节。

Photon Unity Networking將為您處理Photon云,下面是內(nèi)部發(fā)生的事情:

每個人都首先連接到“Name Server”荤牍。 它檢查哪個應(yīng)用程序您的客戶端(使用AppId)和客戶端要使用哪個區(qū)域案腺。 然后將客戶端轉(zhuǎn)發(fā)到主服務(wù)器(Master Server)。

主服務(wù)器是一群區(qū)域服務(wù)器的中心康吵。 它知道所有現(xiàn)有的游戲劈榨。 每當游戲(房間)被創(chuàng)建或加入時,客戶端都會被轉(zhuǎn)發(fā)到其他機器 - 稱為“游戲服務(wù)器(Game Server)”晦嵌。

PUN中的設(shè)置非常簡單同辣,您不必關(guān)心托管成本拷姿,性能或維護。

房間Rooms

Photon Cloud使用“基于房間游戲”的思想來構(gòu)建旱函,意思是每場比賽玩家有限制(比方說:小于10)响巢,與其他人分開。 在一個房間(通常)棒妨,每個人都收到任何其他人發(fā)送踪古。 在房間外面時,玩家不能溝通券腔,所以我們總是希望他們盡快進入房間伏穆。

進入房間的最佳方法是使用隨機匹配。 我們只是要求進入服務(wù)器的任何房間或具有某些屬性的房間颅眶。

所有房間都有一個名稱作為標識符蜈出。 除非房間已滿或關(guān)閉田弥,我們可以通過名字加入涛酗。方便起見,主服務(wù)器可以提供是我們的應(yīng)用程序的房間的列表偷厦。

大廳Lobby

您的應(yīng)用程序的大廳存在于主服務(wù)器上商叹。 在我們的例子中,我們不會使用大廳只泼,只要加入一個隨機房間(如果有的話)剖笙,或者創(chuàng)建一個新房間,如果沒有現(xiàn)有的房間(房間可以有最大容量请唱,所以他們可能是都滿了)弥咪。

AppIDs和游戲版本

如果每個人都連接到相同的服務(wù)器,必須有一種方法來將玩家與其他人分開十绑。

每個游戲(如在應(yīng)用程序中)在Cloud中獲取自己的“AppId”聚至。 玩家只有在與具有相同的“AppId”的其他玩家遇到。

還有一個“游戲版本”本橙,你可以用來分離玩家與老客戶端與那些與較新的扳躬。

地區(qū)

Photon Cloud被組織在全球各個地區(qū),以防止與玩家的距離太遠甚亭,連接不好贷币。 重要的是要理解這個概念,特別是當在不同地區(qū)與遠程團隊合作時亏狰。 因為地區(qū)劃分役纹,與您的隊友測試游戲可能就不行了。 所以暇唾,確保所有測試者所在區(qū)域是相同的促脉。

開發(fā)

下面每個部分涵蓋了項目開發(fā)階段的一個具體的部分啰挪,按順序進行很重要。
腳本和Photon Cloud知識水平也逐漸增加嘲叔。

  1. 創(chuàng)建基本大廳場景亡呵。
  2. 通過用戶界面(UI)改善大廳場景。
  3. 創(chuàng)建游戲場景硫戈。
  4. 實現(xiàn)級別加載锰什。
  5. 創(chuàng)建基本Player Prefab。
  6. 使相機跟隨您的玩家丁逝。
  7. 修改Player Prefab以添加網(wǎng)絡(luò)功能汁胆。
  8. 玩家實例化和場景切換。
  9. 玩家用戶界面(UI)霜幼。

小結(jié)

好的嫩码,我們實現(xiàn)了一個工作系統(tǒng),用戶在互聯(lián)網(wǎng)上與其他玩家互動罪既,以基本要求實現(xiàn)良好的體驗铸题。

我們已經(jīng)學(xué)習了如何控制PUN,如何監(jiān)聽PUN狀態(tài)和當前上下文琢感,以及利用直觀的組件輕松使用Animator丢间。

我們還學(xué)習了Photon的一些有趣的功能,如自動場景同步驹针,創(chuàng)建原始和強大的GamePlays烘挫。

要創(chuàng)建一個完整的游戲還有很多事情要做,準備發(fā)布柬甥,但這只是建立在我們在這里介紹內(nèi)容的基礎(chǔ)之上饮六。

  • 請務(wù)必閱讀“開始使用”部分。
  • 請瀏覽文檔API參考苛蒲,可以大體知道都有什么卤橄。 你可能不需要所有的東西,但當你需要或?qū)崿F(xiàn)新功能的時候能夠記起來撤防。 你會記得一些相關(guān)的功能或?qū)傩运浞纾袁F(xiàn)在是時候正確地學(xué)習它們了。
  • 使用論壇寄月,不要猶豫分享你的問題辜膝,甚至挫折:)你不會被問題困住是至關(guān)重要的。 把問題寫出來讓別人理解漾肮,你會把你的問題有條理的整理出來厂抖,這有助于問題的解決。 沒有愚蠢的問題克懊,這一切都取決于你的專業(yè)水平和你在學(xué)習/掌握Unity和PUN的程度忱辅。

原文地址

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末七蜘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子墙懂,更是在濱河造成了極大的恐慌橡卤,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件损搬,死亡現(xiàn)場離奇詭異碧库,居然都是意外死亡,警方通過查閱死者的電腦和手機巧勤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門嵌灰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人颅悉,你說我怎么就攤上這事沽瞭。” “怎么了剩瓶?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵驹溃,是天一觀的道長。 經(jīng)常有香客問我儒搭,道長吠架,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任搂鲫,我火速辦了婚禮,結(jié)果婚禮上磺平,老公的妹妹穿的比我還像新娘魂仍。我一直安慰自己,他們只是感情好拣挪,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布擦酌。 她就那樣靜靜地躺著,像睡著了一般菠劝。 火紅的嫁衣襯著肌膚如雪赊舶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天赶诊,我揣著相機與錄音笼平,去河邊找鬼。 笑死舔痪,一個胖子當著我的面吹牛寓调,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锄码,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼夺英,長吁一口氣:“原來是場噩夢啊……” “哼晌涕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起痛悯,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤余黎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后载萌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秸歧,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年狠半,在試婚紗的時候發(fā)現(xiàn)自己被綠了穴墅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡斋枢,死狀恐怖帘靡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瓤帚,我是刑警寧澤描姚,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站戈次,受9級特大地震影響轩勘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜怯邪,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一绊寻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧悬秉,春花似錦澄步、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至武氓,卻和暖如春梯皿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背县恕。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工东羹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人弱睦。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓百姓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親况木。 傳聞我的和親對象是個殘疾皇子垒拢,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容