Unity3D :LAN 模式下的 Network Manager HUD
推薦:將NSDT場(chǎng)景編輯器加入你的3D工具鏈
3D工具集:NSDT簡(jiǎn)石數(shù)字孿生LAN 模式下的 Network Manager HUD
重要提示:UNet 是一個(gè)已棄用的解決方案,新的多人游戲和網(wǎng)絡(luò)解決方案(游戲?qū)ο蟮木W(wǎng)絡(luò)代碼)正在開發(fā)中。有關(guān)更多信息和后續(xù)步驟,請(qǐng)參閱適用于游戲?qū)ο蟮?Unity 網(wǎng)絡(luò)代碼網(wǎng)站上的信息。 |
單擊 LAN Host 按鈕可將游戲作為本地網(wǎng)絡(luò)上的主機(jī)啟動(dòng)。該客戶端既是主機(jī),也是游戲中的玩家之一。此情況下使用 Inspector 中的 Network Info 部分的信息來(lái)托管游戲。
單擊此按鈕時(shí),HUD 會(huì)切換到簡(jiǎn)單的網(wǎng)絡(luò)詳細(xì)信息顯示界面,還有一個(gè) Stop (X) 按鈕,可用于停止托管游戲并返回 LAN 主菜單。
托管 LAN 游戲時(shí)的 Network Manager HUD。以主機(jī)模式開始游戲時(shí),游戲的其他玩家可連接到此主機(jī)以加入游戲。
單擊 Stop (X) 按鈕可斷開連接到主機(jī)玩家的所有玩家。單擊 Stop (X) 也會(huì)將 HUD 返回到 LAN 菜單。
LAN Client要連接到本地網(wǎng)絡(luò)上的主機(jī),請(qǐng)使用 LAN Client 按鈕右側(cè)的文本字段指定主機(jī)的地址。默認(rèn)主機(jī)地址為“l(fā)ocalhost”,表示客戶端在自己的計(jì)算機(jī)上查找游戲主機(jī)。單擊 LAN Client (C) 可嘗試連接到指定的主機(jī)地址。
如果在一臺(tái)計(jì)算機(jī)上運(yùn)行多個(gè)游戲?qū)嵗?,?qǐng)使用此字段中的默認(rèn)“l(fā)ocalhost”來(lái)測(cè)試多人游戲交互情況。為此,可創(chuàng)建游戲的獨(dú)立構(gòu)建,然后在計(jì)算機(jī)上多次啟動(dòng)游戲。這是快速測(cè)試網(wǎng)絡(luò)游戲交互功能是否按預(yù)期運(yùn)行的常用方法(無(wú)需將游戲部署到多臺(tái)計(jì)算機(jī)或設(shè)備)。
在同一臺(tái)式機(jī)上運(yùn)行聯(lián)網(wǎng)游戲的三個(gè)實(shí)例的示例。此功能可用于快速測(cè)試以便確保網(wǎng)絡(luò)交互行為符合預(yù)期目標(biāo)。一個(gè)實(shí)例作為 LAN 主機(jī) (LAN Host) 運(yùn)行,另外兩個(gè)實(shí)例作為 LAN 客戶端 (LAN Client) 運(yùn)行。如果要在同一網(wǎng)絡(luò)中(即在 LAN 上)的多臺(tái)計(jì)算機(jī)上測(cè)試游戲,必須將充當(dāng)主機(jī)的玩家地址輸入“l(fā)ocalhost”文本字段中。
充當(dāng)主機(jī)的玩家需要將 IP 地址告訴運(yùn)行 LAN 客戶端的所有玩家,從而可在文本框中輸入該地址。
輸入 IP 地址(如果在自己的計(jì)算機(jī)上進(jìn)行測(cè)試,可將其保留為“l(fā)ocalhost”),然后單擊 LAN Client 嘗試連接到主機(jī)。
客戶端嘗試連接時(shí),HUD 會(huì)顯示 Cancel Connection Attempt 按鈕。如果要停止嘗試連接到主機(jī),請(qǐng)單擊此按鈕。
如果連接成功,HUD 將顯示 Stop (X) 按鈕。如果要在客戶端上停止游戲并斷開與主機(jī)的連接,請(qǐng)單擊此按鈕:
連接成功后的 HUDUnity 具有內(nèi)置的網(wǎng)絡(luò)發(fā)現(xiàn)系統(tǒng),允許客戶端自動(dòng)查找同一本地網(wǎng)絡(luò)上的主機(jī)。但是,這未內(nèi)置于網(wǎng)絡(luò)管理器HUD中,因此您需要手動(dòng)輸入地址。當(dāng)您將網(wǎng)絡(luò)管理器 HUD 替換為您自己的 UI 時(shí),您可以將網(wǎng)絡(luò)發(fā)現(xiàn)系統(tǒng)集成到您的游戲中。
LAN Server Only單擊 LAN Server Only 可啟動(dòng)游戲并使該游戲充當(dāng)其他客戶端可以連接到的服務(wù)器,但不充當(dāng)游戲本身的客戶端。這種類型的游戲通常稱為“專用服務(wù)器”。用戶無(wú)法在此特定游戲?qū)嵗贤嬗螒?。所有玩家都必須作為客戶端連接,沒(méi)有玩家在作為服務(wù)器運(yùn)行的實(shí)例上玩游戲。
在 LAN 上設(shè)置一個(gè)專用服務(wù)器可為所有連接的玩家?guī)?lái)更好的性能,因?yàn)槌顺洚?dāng)服務(wù)器之外,服務(wù)器不需要處理本地玩家的游戲運(yùn)行過(guò)程。
有時(shí),您可能希望托管可通過(guò)互聯(lián)網(wǎng)運(yùn)行的游戲(而不僅僅是在本地網(wǎng)絡(luò)內(nèi)),但希望自己保持對(duì)服務(wù)器的控制,例如,為了防止客戶端作弊(因?yàn)橹挥蟹?wù)器才對(duì)游戲具有授權(quán)),這種情況下也可以選擇這一選項(xiàng)。為此,需要在具有公共 IP 地址的計(jì)算機(jī)上以 Server Only 模式運(yùn)行游戲。
Enable Match Maker單擊 Enable Match Maker (M) 可將 HUD 更改為 Matchmaker 模式。如果要使用 Unity 的 Matchmaker Multiplayer 服務(wù)創(chuàng)建或連接到互聯(lián)網(wǎng)上托管的游戲,則需要使用 Matchmaker 模式。單擊 Enable Match Maker (M) 可在 Network Manager HUD 中顯示 Matchmaker 控件。
注意:請(qǐng)記住,Network Manager HUD 功能是針對(duì)開發(fā)的臨時(shí)輔助功能。此組件允許您快速運(yùn)行多人游戲,但在準(zhǔn)備就緒之后應(yīng)將其替換為您自己的 UI 控件。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。