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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

總結(jié)

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

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