日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

UE4联网机制和多人游戏总结 (第一部分)

發(fā)布時(shí)間:2023/12/14 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UE4联网机制和多人游戏总结 (第一部分) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 網(wǎng)絡(luò)概述

在多人游戲會(huì)話中,游戲狀態(tài)信息將通過(guò)互聯(lián)網(wǎng)連接在多臺(tái)機(jī)器之間通信,而非單獨(dú)駐留于一臺(tái)計(jì)算機(jī)上。玩家之間的信息共享十分微妙,并會(huì)增加部分額外步驟,因此此操作導(dǎo)致多人游戲編程比單人游戲編輯復(fù)雜。虛幻引擎 提供的網(wǎng)絡(luò)框架非常強(qiáng)大,支持部分世界上最流行的網(wǎng)絡(luò)游戲,可簡(jiǎn)化此流程。本頁(yè)對(duì)驅(qū)動(dòng)多人游戲編程的概念和可使用的網(wǎng)絡(luò)游戲構(gòu)建工具進(jìn)行了概述。

1.1 盡早規(guī)劃多人游戲

若項(xiàng)目可能需要多人游戲功能,則從項(xiàng)目開始階段起,構(gòu)建所有g(shù)ameplay時(shí)都應(yīng)將多人游戲功能考慮在內(nèi)。若開發(fā)團(tuán)隊(duì)通常會(huì)在創(chuàng)建多人游戲時(shí)實(shí)施額外步驟,相較于單人游戲,構(gòu)建gameplay的流程并不會(huì)耗時(shí)過(guò)久。長(zhǎng)遠(yuǎn)來(lái)看,項(xiàng)目將便于整個(gè)團(tuán)隊(duì)進(jìn)行調(diào)試和維護(hù)。同時(shí),虛幻引擎中編寫的多人游戲gameplay仍可在單人游戲中使用。
但是,重構(gòu)無(wú)網(wǎng)絡(luò)情況下編譯的基本代碼需要梳理整個(gè)項(xiàng)目,幾乎所有g(shù)ameplay都需要重新編寫。屆時(shí),開發(fā)團(tuán)隊(duì)成員需重新學(xué)習(xí)可能早已熟悉的編程實(shí)操。同時(shí),網(wǎng)速和穩(wěn)定的相關(guān)技術(shù)瓶頸也會(huì)讓你措手不及。
相較于初期規(guī)劃,在項(xiàng)目后期引入網(wǎng)絡(luò)功能會(huì)占用大量資源,且極為復(fù)雜。因此,除非確定項(xiàng)目無(wú)需多人游戲功能,否則應(yīng) 始終 按多人游戲方向進(jìn)行編程。

1.2 客戶端-服務(wù)器模型

在單人游戲或本地多人游戲中,游戲在 獨(dú)立 游戲上本地運(yùn)行。玩家將輸入連接到一臺(tái)計(jì)算機(jī),直接控制其上所有內(nèi)容,而包括Actor、場(chǎng)景和各玩家的用戶界面在內(nèi)的所有游戲項(xiàng)目均存在于這臺(tái)本地機(jī)器上。


單人游戲和本地多人游戲都僅在一臺(tái)機(jī)器上執(zhí)行。

在網(wǎng)絡(luò)多人游戲中,虛幻引擎使用 客戶端-服務(wù)器 模型。網(wǎng)絡(luò)中的一臺(tái)計(jì)算機(jī)作為 服務(wù)器 主持多人游戲會(huì)話,而所有其他玩家的計(jì)算機(jī)作為 客戶端 連接到該服務(wù)器。然后,服務(wù)器與連接的客戶端分享游戲狀態(tài)信息,并提供一種客戶端之間通信的方法。

在網(wǎng)絡(luò)多人游戲中,游戲?qū)⒃诜?wù)器(1)與多個(gè)與之連接的客戶端(2)之間進(jìn)行。服務(wù)器處理gameplay,客戶端向用戶顯示游戲。

**服務(wù)器作為游戲主機(jī),保留一個(gè)真實(shí) 授權(quán) 的游戲狀態(tài)。**換句話說(shuō),服務(wù)器是多人游戲?qū)嶋H發(fā)生的地方客戶端會(huì)遠(yuǎn)程控制其在服務(wù)器上各自擁有的 Pawn,發(fā)送過(guò)程調(diào)用以使其執(zhí)行游戲操作。但服務(wù)器不會(huì)將視覺(jué)效果直接流送至客戶端顯示器。服務(wù)器會(huì)將游戲狀態(tài)信息 復(fù)制 到各客戶端,告知應(yīng)存在的Actor、此類Actor的行為,以及不同變量應(yīng)擁有的值。然后各客戶端使用此信息,對(duì)服務(wù)器上正在發(fā)生的情況進(jìn)行高度模擬。
欲了解客戶端與服務(wù)器之間的連接過(guò)程的相關(guān)額外技術(shù)信息,參見(jiàn)客戶端-服務(wù)器模型 上的指南。

1.2.1 客戶端-服務(wù)器游戲范例

我們將在多人游戲中以兩個(gè)玩家為例,說(shuō)明此過(guò)程對(duì)gameplay編程實(shí)踐的改變方式。我們稱他們?yōu)?玩家1 和 玩家2,并分析兩人互射發(fā)射物的過(guò)程。

在網(wǎng)絡(luò)多人游戲中,游戲?qū)⒃诜?wù)器(1)與多個(gè)與之連接的客戶端(2)之間進(jìn)行。服務(wù)器處理gameplay,客戶端向用戶顯示游戲。

獨(dú)立游戲中,此類所有交互都在同一臺(tái)機(jī)器上的同一 場(chǎng)景 中發(fā)生,因此理解和編程均較為簡(jiǎn)單。例如,生成對(duì)象時(shí),你可以認(rèn)為所有玩家均能看到此對(duì)象。
在網(wǎng)絡(luò)游戲中,此類交互發(fā)生在多個(gè)不同場(chǎng)景:服務(wù)器上的場(chǎng)景、玩家1客戶端的場(chǎng)景、玩家2客戶端的場(chǎng)景,以及參與會(huì)話的其他所有客戶端的額外場(chǎng)景。每臺(tái)不同機(jī)器上的各場(chǎng)景均有各自Pawn、武器及發(fā)射物的副本。服務(wù)器是游戲真正運(yùn)行的地方,但我們要讓客戶端的場(chǎng)景看似發(fā)生了相同事件。因此,需要選擇性地向各客戶端發(fā)送信息,以在服務(wù)器上創(chuàng)建場(chǎng)景的視覺(jué)代表。

這一過(guò)程將在基礎(chǔ)游戲交互(碰撞、移動(dòng)、傷害)、美化效果(視覺(jué)效果和音效)和私人玩家信息(HUD更新)間進(jìn)行劃分。這三者各自與網(wǎng)絡(luò)中的特定機(jī)器或機(jī)組關(guān)聯(lián)。但是,**此信息的復(fù)制過(guò)程并非完全自動(dòng),游戲編程時(shí)須指定要復(fù)制的信息和接收副本的機(jī)器。主要的難點(diǎn)在于選擇應(yīng)復(fù)制的信息及方式,以向所有玩家提供一致的游戲體驗(yàn),同時(shí)需最小化信息復(fù)制量,盡可能減少網(wǎng)絡(luò)帶寬占用率。**加粗樣式

總結(jié)

以上是生活随笔為你收集整理的UE4联网机制和多人游戏总结 (第一部分)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。