国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity聯(lián)網(wǎng)多人游戲技術(shù)方案調(diào)研

這篇具有很好參考價(jià)值的文章主要介紹了Unity聯(lián)網(wǎng)多人游戲技術(shù)方案調(diào)研。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

關(guān)于聯(lián)網(wǎng)方案

  • Listen Server (Host) 和 Relay轉(zhuǎn)發(fā)服務(wù)器游戲包同時(shí)包含客戶端和服務(wù)端邏輯,聯(lián)網(wǎng)時(shí)一個(gè)客戶端開主,稱為Host,其他客戶端連入。局域網(wǎng)和互聯(lián)網(wǎng)都支持?;ヂ?lián)網(wǎng)需要有一個(gè)匹配服務(wù)器幫助找到不同人建立的主機(jī)。如果不使用Relay服務(wù)器,那對(duì)于互聯(lián)網(wǎng)連接就要使用NAT穿透下的P2P,但是P2P的成功率是80%90%,所以還是需要轉(zhuǎn)發(fā)服務(wù)器來處理剩下的10%20%的用戶。Host模式下由于Host機(jī)是某一個(gè)客戶的機(jī)子,性能不可控,如果Host機(jī)性能差則聯(lián)網(wǎng)體驗(yàn)差。另外Host模式要處理Host掉線的問題。Host模式安全性也比較差,黑客可以使用一個(gè)破解修改后的客戶端開主,從而作弊。好處是不需要獨(dú)立的游戲服務(wù)器,除了匹配服和轉(zhuǎn)發(fā)服之外沒有什么開銷。
  • Delicated Game Server(DGS)即服務(wù)端單獨(dú)編譯成一個(gè)包運(yùn)行。需要獨(dú)立的服務(wù)器去運(yùn)行服務(wù)端,需要考慮擴(kuò)容。好處是服務(wù)端機(jī)器性能可控,且可在全球部署多個(gè)服務(wù)器點(diǎn)位,給玩家分配最優(yōu)的服務(wù)器。DGS模式可以將游戲邏輯或者校驗(yàn)邏輯寫在服務(wù)端,安全性較高。

UNet

UNet是早期的方案,也被稱為HLAPI (High Level API),提供了一系列高層組件進(jìn)行快速的聯(lián)網(wǎng)開發(fā)。網(wǎng)絡(luò)拓?fù)浞桨甘褂昧薒isten Server模式同時(shí)支持Relay(轉(zhuǎn)發(fā)),也支持DGS(專用游戲服務(wù)器)。UNet現(xiàn)在已經(jīng)被官方廢棄了,在Unity2020下面還可以通過安裝HLAPI的包繼續(xù)使用,但Unity2021已經(jīng)找不到這包了。

MLAPI / Netcode (for GameObjects)

即Middle Level API,是一個(gè)開源項(xiàng)目,被Unity采用?,F(xiàn)在Unity已經(jīng)升級(jí)為Netcode for GameObjects了。他提供了比較中間級(jí)的接口,比如 NetworkVars, SyncVars, RPCs, scene management, Messaging System。同樣有DGS模式,也支持Relay,最多支持64人(但如果不使用RPC據(jù)說可以支持更多人數(shù))。不過這個(gè)庫還比較新,感覺不夠成熟。

Netcode supports the following platforms:

Windows, MacOS, and Linux
iOS and Android
XR platforms running on Windows, Android, and iOS operating systems
Most closed platforms, such as consoles. Contact us for more information about specific closed platforms.

When working with consoles (such as PlayStation, Xbox, or Nintendo Switch), there may be Netcode-specific policies you should be aware of while testing and before launching your game live. Refer to the console’s internal documentation for more information. This content is typically protected by NDA.

Mirror

https://assetstore.unity.com/packages/tools/network/mirror-129321

免費(fèi)的第三方插件,也是一個(gè)高層的API。使用client-server模式,并且提供很多中間層特性,如SyncVars。

其他收費(fèi)插件

DarkRift2, Photon PUN, Photon Quantum2.0這幾個(gè)都是收費(fèi)的。
Unity聯(lián)網(wǎng)多人游戲技術(shù)方案調(diào)研

非Unity集成方案

以上方案/插件都是可以高度集成到Unity中,都是直接使用Unity C# API寫邏輯的。現(xiàn)在有一些開源的或者自研的服務(wù)端方案,比如使用Go,Lua, C++, Rust, Java等開發(fā)的服務(wù)器,這種基本都是獨(dú)立服務(wù)器DGS,服務(wù)器端就不能使用Unity的API寫邏輯了,比如物理計(jì)算和尋路等,都要是有其他方案,脫離了Unity引擎,而客戶端就要使用底層的網(wǎng)絡(luò)代碼,重新封裝到游戲邏輯層。此方案適合大型項(xiàng)目或者公司本來有積累的代碼庫,可以最大程度的定制開發(fā),但是成本也較高(也要看積累)。

參考資料

  • https://docs-multiplayer.unity3d.com/netcode/current/about

  • https://docs-multiplayer.unity3d.com/netcode/current/about

  • https://images.response.unity3d.com/Web/Unity/%7B305691e0-36c5-4b1a-ae4d-a2e43d4569cb%7D_Unity-Choosing_Netcode-Research_Report-v1_1.pdf文章來源地址http://www.zghlxwxcb.cn/news/detail-407515.html

到了這里,關(guān)于Unity聯(lián)網(wǎng)多人游戲技術(shù)方案調(diào)研的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Unity Photon Fusion 2】多人聯(lián)網(wǎng)插件,主機(jī)模式基礎(chǔ)教程

    【Unity Photon Fusion 2】多人聯(lián)網(wǎng)插件,主機(jī)模式基礎(chǔ)教程

    ????????Fusion是Unity的一個(gè)新的高性能狀態(tài)同步網(wǎng)路庫。Fusion在組建時(shí)考慮到了簡化性,可以自然地集成到普通的Unity工作流程中,同時(shí)也提供了先進(jìn)的功能,如資料壓縮、客戶端預(yù)測(cè)和開箱即用的延遲補(bǔ)償。 ????????本質(zhì)上,F(xiàn)usion依靠最先進(jìn)的壓縮演算法,以最小的

    2024年04月15日
    瀏覽(40)
  • unity使用PhotonEngine實(shí)現(xiàn)多人聯(lián)機(jī)游戲開發(fā)(一)

    unity使用PhotonEngine實(shí)現(xiàn)多人聯(lián)機(jī)游戲開發(fā)(一)

    先來了解一下PhotonEngine(光子引擎),這是德國ExitGame公司開發(fā)的網(wǎng)絡(luò)引擎,photonengine簡單易上手,很多游戲公司開發(fā)的網(wǎng)絡(luò)游戲都是使用的這個(gè)。這個(gè)網(wǎng)絡(luò)引擎里面包括了PhotonCloud(光子云)、photonServer(光子服務(wù)器)、PhotonQuantum(確定性量子引擎)、PhotonVoice(光子語音)

    2024年02月07日
    瀏覽(29)
  • 【Unity2022】Unity多人游戲開發(fā)教程-安裝Netcode for GameObjects

    【Unity2022】Unity多人游戲開發(fā)教程-安裝Netcode for GameObjects

    首先亮出文檔,可以直接去看官方文檔。 本文章大部分內(nèi)容來源于官方文檔,另一部分為筆者講解的教程。 如果英語不好,或看不懂文檔的人,可以閱讀本文章。 官方文檔 官方文檔的中文翻譯: 中文翻譯 本教程使用的開發(fā)環(huán)境如下: Windows10 Unity 2022.3.0f1c1 Netcode for GameOb

    2024年02月11日
    瀏覽(26)
  • 項(xiàng)目實(shí)訓(xùn)--Unity多人游戲開發(fā)(十一、PUN框架--游戲場(chǎng)景篇(加載與同步))

    項(xiàng)目實(shí)訓(xùn)--Unity多人游戲開發(fā)(十一、PUN框架--游戲場(chǎng)景篇(加載與同步))

    本地加載 有許多方法,舉幾個(gè)例子: 本地加載 本地異步加載(場(chǎng)景內(nèi)容過多時(shí),防止卡頓異步加載) 多人游戲加載場(chǎng)景 pun2插件加載 這個(gè)異步加載起初是覺得場(chǎng)景內(nèi)容如果過多會(huì)引起卡頓。所以把這個(gè)應(yīng)用在了單機(jī)模式上。 至于多人游戲加載場(chǎng)景,可能用不到而且也沒法

    2024年02月01日
    瀏覽(106)
  • 【Unity工具,簡單學(xué)習(xí)】PUN 2,多人在線游戲開發(fā),初步使用

    【Unity工具,簡單學(xué)習(xí)】PUN 2,多人在線游戲開發(fā),初步使用

    鏈接 PUN 可以讓你 簡單地開發(fā)多人游戲 ,在 全球范圍 推出 讓開發(fā)者 不用管托管、鏈接和延遲 支持移動(dòng)端、臺(tái)式、一些主機(jī) 全球范圍內(nèi)低延遲 始終連接,無需穿透 免費(fèi)20 CCU(Concurrent User, 并發(fā)用戶) 支持 Unity 2019 - 2022 安裝包,輸入郵箱來注冊(cè),或輸入Appid來登錄。 輸入郵箱

    2024年02月07日
    瀏覽(91)
  • Unity之NetCode多人網(wǎng)絡(luò)游戲聯(lián)機(jī)對(duì)戰(zhàn)教程(1)

    Unity之NetCode多人網(wǎng)絡(luò)游戲聯(lián)機(jī)對(duì)戰(zhàn)教程(1)

    官網(wǎng)鏈接:https://docs-multiplayer.unity3d.com/netcode/current/about/ Netcode for GameObjects(NGO)是專為Unity構(gòu)建的高級(jí)網(wǎng)絡(luò)庫。它能夠在網(wǎng)絡(luò)會(huì)話中將 GameObject 和 世界數(shù)據(jù) 同時(shí)發(fā)送給多名玩家。使用NGO不必關(guān)心低級(jí)協(xié)議和網(wǎng)絡(luò)框架。 打開一個(gè)unity項(xiàng)目,在菜單欄中選擇 Window Package Manager

    2024年02月07日
    瀏覽(51)
  • Unity之Photon PUN2開發(fā)多人游戲如何實(shí)現(xiàn)組隊(duì)功能

    Photon Unity Networking 2 (PUN2) 是一款基于Photon Cloud的Unity多人游戲開發(fā)框架。它提供了一系列易于使用的API和工具,使開發(fā)者可以快速構(gòu)建多人戲,并輕松處理多人游戲中的網(wǎng)絡(luò)同步、房間管理、玩家匹配等問題。 我們?cè)诓榭碢un2的Demo時(shí),會(huì)發(fā)現(xiàn)Demo中自帶了一個(gè)簡易的PhotonTeam和

    2024年02月11日
    瀏覽(64)
  • Unity從零開始制作多人回合制對(duì)戰(zhàn)游戲(1)——網(wǎng)絡(luò)通訊

    Unity從零開始制作多人回合制對(duì)戰(zhàn)游戲(1)——網(wǎng)絡(luò)通訊

    考慮到我們的教程是網(wǎng)絡(luò)游戲,所以還是得先寫個(gè)服務(wù)器,本篇教程會(huì)向你科普什么是網(wǎng)絡(luò)通訊、實(shí)現(xiàn)網(wǎng)絡(luò)通訊需要的工具protobuf及其使用方法,最后,其主要內(nèi)容是教你運(yùn)用這些知識(shí)來開發(fā)一個(gè)使用c#作為后端的服務(wù)器,并完成通訊功能 新建一個(gè)unity項(xiàng)目作為客戶端和c#控制

    2024年02月04日
    瀏覽(30)
  • Unity之使用Photon Server + PUN2 開發(fā)局域網(wǎng)多人游戲

    Unity之使用Photon Server + PUN2 開發(fā)局域網(wǎng)多人游戲

    Photon Engine是一款跨平臺(tái)的實(shí)時(shí)多人游戲引擎,它提供了可靠的基礎(chǔ)設(shè)施和工具,使開發(fā)者能夠輕松地構(gòu)建和部署多人游戲。Photon Engine支持多種平臺(tái),包括PC、移動(dòng)設(shè)備和Web,同時(shí)還提供了多種語言的SDK,如C++、C#、Java、JavaScript等,使得開發(fā)者可以使用自己熟悉的編程語言進(jìn)

    2024年02月13日
    瀏覽(27)
  • Unity之NetCode多人網(wǎng)絡(luò)游戲聯(lián)機(jī)對(duì)戰(zhàn)教程(4)--連接申請(qǐng)ConnectionApproval

    Unity之NetCode多人網(wǎng)絡(luò)游戲聯(lián)機(jī)對(duì)戰(zhàn)教程(4)--連接申請(qǐng)ConnectionApproval

    沒看過前面的教程請(qǐng)先閱讀前面的教程,本期將會(huì)講到Netcode聯(lián)機(jī)的申請(qǐng),當(dāng)一個(gè)Client想連接進(jìn)來,應(yīng)向Server發(fā)送申請(qǐng)聯(lián)機(jī)的信息,然后由服務(wù)端向客戶端下發(fā)數(shù)據(jù),所有數(shù)據(jù)應(yīng)該在服務(wù)端,而不是在客戶端。 舉幾個(gè)常見的例子需要用到 ConnectionApproval 的場(chǎng)景 使用密碼加入房

    2024年02月03日
    瀏覽(42)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包