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

UE4第三人稱多人聯(lián)機游戲開發(fā)01

這篇具有很好參考價值的文章主要介紹了UE4第三人稱多人聯(lián)機游戲開發(fā)01。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

多人聯(lián)機定義

單人游戲中一臺電腦只有一個游戲會話(Session),我們可以通過在同一電腦中分屏并用不同的輸入設(shè)備,單人游戲不需要使用互聯(lián)網(wǎng)。

多人游戲中,游戲?qū)嵗讵毩⒌膬膳_電腦中運行,而由于玩家在不斷地輸入指令,因此我們需要將一個游戲?qū)嵗械男畔⑼ㄟ^互聯(lián)網(wǎng)傳輸?shù)搅硪粋€游戲?qū)嵗小?/p>

那么對于傳輸信息的方式,我們有以下幾種定義:

點對點(Peer to Peer)

UE4第三人稱多人聯(lián)機游戲開發(fā)01

這種傳輸方式非常容易實現(xiàn),但是點對點有較大的缺陷,當多人游戲中玩家數(shù)量增加時,點對點傳輸?shù)男畔眲≡黾?,造成網(wǎng)絡(luò)傳輸中的巨大開銷。

UE4第三人稱多人聯(lián)機游戲開發(fā)01

?此外,點對點傳輸模式中沒有一個權(quán)威的游戲?qū)嵗?,每一個游戲?qū)嵗捎诰W(wǎng)絡(luò)傳輸?shù)臏蠖紩a(chǎn)生輕微的不同,因此不同機器上的游戲?qū)嵗际遣煌模@并不是我們想要看到的。

客戶端——服務(wù)端(Client-Server)

為了解決點對點中出現(xiàn)的問題,我們將一臺機器指定為服務(wù)器,其他所有機器被指定為客戶端,所有客戶端通過服務(wù)端交換信息,客戶端之間不會直接收發(fā)信息。因此每一個客戶端只要滿足固定的帶寬用于發(fā)送和接收來自服務(wù)器的消息。

UE4第三人稱多人聯(lián)機游戲開發(fā)01?

服務(wù)端是權(quán)威的(Authority),這意味著服務(wù)端上運行的游戲是正確的版本

UE4第三人稱多人聯(lián)機游戲開發(fā)01

客戶端-服務(wù)端的模式有以下兩種

聆聽服務(wù)器:將一個玩家的機器充當服務(wù)器。服務(wù)器在發(fā)送信息的同時也在渲染圖形。

專用服務(wù)器:指定一個專門的機器作為服務(wù)器,沒有人在服務(wù)器上游玩游戲,因此服務(wù)器中不需要渲染圖形。

在UE4中測試多人游戲

首先我們使用第三人稱模板建立一個C++工程。?

UE4第三人稱多人聯(lián)機游戲開發(fā)01

在UE4中,提供了完整的測試客戶端與服務(wù)端的功能,在運行中,我們可以選擇是以聆聽服務(wù)器啟動或者是以客戶端啟動。

可以看到左下窗口作為了客戶端,而編輯器中的游戲?qū)嵗鳛轳雎牱?wù)器,玩家移動時,在服務(wù)端和客戶端上我們都可以看到。

UE4第三人稱多人聯(lián)機游戲開發(fā)01

而當我們使用專用服務(wù)端啟動時,我們可以看到窗口和編輯器中的游戲?qū)嵗际亲鳛榭蛻舳藛樱梢钥吹接螒蛑羞€有一個Character,這是由于初始時我們放置在游戲關(guān)卡中的,而當啟動專用服務(wù)端后,這個角色將不會被任何客戶端控制,專用服務(wù)器將會生成額外兩個角色。

UE4第三人稱多人聯(lián)機游戲開發(fā)01

?

LAN(Local Area NetWork)局域網(wǎng)測試

局域網(wǎng)絡(luò):所有玩家鏈接在同一個路由器上,我們可以通過本地IP地址訪問同一網(wǎng)絡(luò)內(nèi)的其他計算機。

UE4第三人稱多人聯(lián)機游戲開發(fā)01

我們可以通過添加一些邏輯操作測試LAN功能,首先我們建立一個默認關(guān)卡作為聯(lián)機大廳。

同時當我們按下2鍵時,使用藍圖執(zhí)行控制臺命令,命令行為“Open 192.168.1.27”

經(jīng)過驗證,只要兩臺電腦在同一個路由器下,我們就可以得到聯(lián)機效果。

UE4第三人稱多人聯(lián)機游戲開發(fā)01

UE4第三人稱多人聯(lián)機游戲開發(fā)01?

使用C++進行LAN鏈接

在上面的教程中,我們使用藍圖進行了LAN的鏈接測試,我們同樣可以使用C++編寫相應(yīng)的函數(shù)得到相同的功能。

我們在TPtestingCharacter.h文件中聲明三個新函數(shù)。

void ATPtestingCharacter::OpenLobby()
{
   UWorld* World = GetWorld();
   if (World)
   {
      World->ServerTravel("/Game/ThirdPersonCPP/Maps/Lobby?listen");
   }
}

void ATPtestingCharacter::CallOpenLevel(const FString& Address)
{
   //由于這里Address是FString,而函數(shù)中需要的是FName,因此我們用星號將Address轉(zhuǎn)換為一個C風(fēng)格的字符串
   UGameplayStatics::OpenLevel(this, *Address);
}

void ATPtestingCharacter::CallClientTravel(const FString& Address)
{
   APlayerController* PlayerContorller = GetGameInstance()->GetFirstLocalPlayerController();
   if (PlayerContorller)
   {
      PlayerContorller->ClientTravel(Address, ETravelType::TRAVEL_Absolute);
   }
}

在線子系統(tǒng)

本地IP地址,也稱為內(nèi)部IP地址。這是由本地路由器分配的地址,沒有人可以從本地網(wǎng)絡(luò)之外連接到本地網(wǎng)絡(luò)。

UE4第三人稱多人聯(lián)機游戲開發(fā)01?

外部IP地址,是運營商會為路由器分配一個公共的IP地址,而這個IP地址在互聯(lián)網(wǎng)中是都可以被看到的,任何信息首先進入外部IP地址,再進本地地址UE4第三人稱多人聯(lián)機游戲開發(fā)01

虛幻的在線子系統(tǒng)可以幫助我們只關(guān)注UE上面的代碼,連接不同平臺的代碼都將會被虛幻給抽象掉,在線子系統(tǒng)中包含了我們需要連接服務(wù)的函數(shù),我們只需要指定特定的服務(wù)器,UE就會幫助我們建立連接。

UE4第三人稱多人聯(lián)機游戲開發(fā)01

在線子系統(tǒng)可以使用一系列的接口來對應(yīng)不同平臺上的各項服務(wù),例如朋友列表,成就等等。

多人游戲中創(chuàng)建游戲會話的過程:

  • 建立會話

  • 等待玩家加入

  • 玩家登入

  • 開始游戲會話

  • 游玩游戲

  • 結(jié)束游戲會話

  • 注銷玩家

  • 更新游戲會話或銷毀游戲會話。文章來源地址http://www.zghlxwxcb.cn/news/detail-471475.html

到了這里,關(guān)于UE4第三人稱多人聯(lián)機游戲開發(fā)01的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Unity移動端第三人稱控制器

    Unity移動端第三人稱控制器

    在Hierarchy面板空白地方右鍵-3D Object創(chuàng)建一個Plane和一個Capsule 鼠標單擊選中Capsule 在右側(cè)Inspector面板刪除Capsule Collider碰撞體組件 添加一個Character Controller(角色控制器,自帶一個碰撞體)和一個腳本ThirdPersonController(名字可以自己取) 在 ThirdPersonController 中定義變量: 在 Start 中初始

    2024年02月02日
    瀏覽(25)
  • Unity筆記:第三人稱Starter Asset代碼學(xué)習(xí)

    Unity筆記:第三人稱Starter Asset代碼學(xué)習(xí)

    自己看了幾篇文章和視頻,寫了個人物移動腳本,有很多瑕疵。這個時候研究一下優(yōu)秀的代碼總是好的,Unity官方有Third Person Starter Asset可供研究,其官方商店頁面是:Starter Assets - ThirdPerson | Updates in new CharacterController package 官方B站介紹視頻是:Bilibili - [Unity教程]-Starter Asset

    2024年02月22日
    瀏覽(29)
  • Unity第三人稱如何讓人物始終朝向相機方向移動

    Unity第三人稱如何讓人物始終朝向相機方向移動

    不知道如何制作簡易第三人稱相機的同學(xué)可以看我的這篇文章:Unity如何實現(xiàn)第三人稱相機跟隨 我們在開發(fā)第三人稱游戲過程中很容易遇到:我們的玩家角色,他面對北方,背后有一臺攝像機,正巧也是面對北方?,F(xiàn)在,他向右轉(zhuǎn)90度,面對東方。此時如果讓他向前走,那么

    2024年02月06日
    瀏覽(47)
  • Unity 第三人稱 玩家控制器+相機控制器

    Unity 第三人稱 玩家控制器+相機控制器

    今天給大家分享一個簡單的Unity第三人稱視角下玩家控制器和相機控制器的腳本編寫方法。 ? 效果如下: 主要分三部分實現(xiàn):人物旋轉(zhuǎn)、人物移動、相機旋轉(zhuǎn)。 1.人物移動: 首先獲取到人物水平和垂直移動的參數(shù): 因為人物移動的方向跟攝像頭一致,所以需要根據(jù)攝像頭的

    2024年02月06日
    瀏覽(97)
  • unity-第三人稱攝像機簡單腳本(包括跟隨、視角旋轉(zhuǎn)、滾輪縮放)

    本菜鳥為了實現(xiàn)第三人稱視角攝像機的主要功能,踩了很多意料之外的坑,終于搞出一份自覺完美的腳本,分享一下。 功能:攝像機跟隨、鼠標滾輪縮放視野、長按鼠標右鍵左右旋轉(zhuǎn)視野、長按鼠標中鍵上下旋轉(zhuǎn)視野。 此腳本掛接在攝像機上,有詳細注釋,可直接運行。

    2024年02月08日
    瀏覽(310)
  • VR工地安全虛擬現(xiàn)實體驗:多種事故模擬,第三人稱回看

    VR工地安全虛擬現(xiàn)實體驗:多種事故模擬,第三人稱回看

    建筑工地五大傷害是指:高處墜落、坍塌、物體打擊、機械傷害、觸電。利用VR(虛擬現(xiàn)實)技術(shù)體驗建筑工地五大傷害,可以為建筑工人提供更真實、更安全的工作環(huán)境,同時也可以幫助他們更好地了解和掌握工作技能。 以下是 VR工地安全虛擬現(xiàn)實體驗軟件 的價值: 首先,通

    2024年02月12日
    瀏覽(20)
  • unity3d 實現(xiàn)第三人稱移動與攝像機調(diào)整

    unity3d 實現(xiàn)第三人稱移動與攝像機調(diào)整

    首先展示效果 unity3d 關(guān)于人物移動,這里推薦使用Character Conrroller組件,優(yōu)點就是可以不用處理剛體,不受重力的影響,自帶物理碰撞檢測。 ?人物移動代碼包括轉(zhuǎn)向 接下來就是攝影機的調(diào)整,這里使用unity自帶的插件cinemachine,非常的推薦,無需使用冗雜的代碼即可設(shè)計較好

    2024年02月11日
    瀏覽(31)
  • UE4 無用の小技巧之聯(lián)機游戲獲取自身控制器

    UE4 無用の小技巧之聯(lián)機游戲獲取自身控制器

    文章內(nèi)容僅為個人學(xué)習(xí)所得,如有錯誤,還請指正!謝謝 通常在UE4中獲取玩家控制器是使用GetPlayerController,但在聯(lián)機游戲中,想要獲取玩家所擁有的控制器時,常規(guī)的GetPlayerController所獲取的控制器只在服務(wù)端是正確的,因為在聯(lián)機模式下,玩家的PlayerIndex是不一致的 在Paw

    2024年02月12日
    瀏覽(86)
  • 關(guān)于UE4多人局域網(wǎng)聯(lián)機游戲中聯(lián)網(wǎng)和回放的設(shè)置細節(jié)問題

    關(guān)于UE4多人局域網(wǎng)聯(lián)機游戲中聯(lián)網(wǎng)和回放的設(shè)置細節(jié)問題

    我們在游戲開發(fā)、仿真推演中可能會遇到這樣的需求: 要搭建局域網(wǎng),可以多人對戰(zhàn)的。 要可以回放,能把大家玩耍的過程記錄下來,重放給玩家們看,做復(fù)盤。 于是我們需要開發(fā)【聯(lián)網(wǎng)】和【回放】功能。聯(lián)網(wǎng)使用RPC方式,通過事件發(fā)送來實現(xiàn)?;胤攀菍⑹录磿r間順序

    2024年02月01日
    瀏覽(30)
  • UE4/5多人游戲詳解(七、自定義委托,實現(xiàn)尋找會話和加入會話的函數(shù),通過Steam進行兩臺電腦的聯(lián)機)

    UE4/5多人游戲詳解(七、自定義委托,實現(xiàn)尋找會話和加入會話的函數(shù),通過Steam進行兩臺電腦的聯(lián)機)

    目錄 可能出現(xiàn)問題(在六部分的測試可能無法連接的問題【在末尾加上了,怕有人沒看見在這里寫一下】) 自定義委托 調(diào)整位置 創(chuàng)建更多的委托和回調(diào)函數(shù)給菜單: 多播和動態(tài)多播 ?代碼: 委托變量 ?代碼: 回調(diào)函數(shù) ?代碼: 綁定委托和動態(tài)函數(shù): ?代碼: 頭文件添加

    2024年02月04日
    瀏覽(100)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包