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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UE3客户端服务器GamePlay框架

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UE3客户端服务器GamePlay框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

客戶端(當前玩家)與服務器對應關系圖:

整體上看,UE3的GamePlay框架使用的是MVC架構

橙色的Actor對象及橙色箭頭相連的成員變量只會被同步給Owner客戶端

Controller:控制器,包括PlayerController和AIController

InventoryManager:玩家武器管理器

Inventory:玩家武器鏈表

黃色的Actor對象及黃色箭頭相連的成員變量會被同步給所有的客戶端

Actor的WorldInfo變量:指向地圖的Main關卡實例

a. 關卡ULevel的Actor數組索引為0的Actor對象為當前關卡的WorldInfo實例

b. 游戲世界UWorld中存放著Main關卡和其他關卡(UWorld* GWorld為一個root類型的UObject全局變量)

? ? ULevel*?PersistentLevel為Main關卡

? ?TArray<ULevel*> Levels為Main關卡和其他關卡的集合

c. 在UGameEngine::LoadMap函數中載入新地圖時,會釋放上一個地圖的Main關卡和其他關卡,然后創建新地圖的Main關卡和其他關卡

d. LevelStreaming只能用于釋放和加載其他關卡Level,不能釋放Main關卡

e.?在游戲過程中Spawn出來的Actor,都會放在Main關卡中,并將其WorldInfo變量指向Main關卡實例

f. 其他關卡Level中的Actor的WorldInfo變量也是指向Main關卡實例的

Pawn:玩家和載具

UTWeaponAttachment:武器3P

該對象并不沒有走同步機制,服務器通過同步class<UTWeaponAttachment>類型信息,讓各個客戶端獨占創建UTWeaponAttachment

GameReplicationInfo(GRI):用于保存游戲實例相關數據

a. 在GameInfo的PreBeginPlay函數中被Spawn出來,并將其設置給WorldInfo.GRI

PlayerReplicationInfo(PRI):用于保存各個玩家實例相關數據

TeamInfo:隊伍信息

粉色的Actor對象只運行在服務器

游戲實例(GameInfo)配置著當前玩法模式Pawn、Controller、GRI、PRI、HUD等類型信息

AI控制器(AIController、UTBot)用于控制AI的行為

綠色的為class類型

⑤ 灰色的為當前端自己創建出來的對象

⑥ 箭頭說明

(1)藍色三角形箭頭為直接派生關系,紫色三角形箭頭為間接派生關系(即省略了中間的繼承對象)

(2)普通箭頭為聚合關系(即為某個其成員變量)

?

擴展閱讀

udn:游戲類型技術指南Gametype Technical Guide

udn:入門指南: 游戲性元素Getting Started: Gameplay Elements

udn:基礎游戲快速入門Basic Game Quick Start

udn:角色技術指南Characters Technical Guide

udn:相機技術指南Camera Technical Guide

udn:載具系統技術指南Vehicle System Technical Guide

udn:武器系統技術指南Weapon System Technical Guide

?

客戶端(其他玩家)與服務器對應關系圖:

?

本地玩家的PlayerController的詳細架構圖:

?

?

轉載于:https://www.cnblogs.com/kekec/p/9180879.html

總結

以上是生活随笔為你收集整理的UE3客户端服务器GamePlay框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。