UE4 HTC VIVE - 番外篇 - 局域网联机(一)
--------------------引擎環(huán)境配置文件修改與項(xiàng)目在線模式啟動(dòng)修改--------------------
1)我們就直接用默認(rèn)名創(chuàng)建一個(gè)第三人稱項(xiàng)目
Paste_Image.png
2)右鍵資源欄,創(chuàng)建一個(gè)新的C++類
創(chuàng)建一個(gè)C++類
選擇不繼承任何UE提供的基類
3)打開(kāi)【解決方案資源管理器】,找到我們的項(xiàng)目【MyProject】,點(diǎn)開(kāi)后找到【Config】文件夾,找到【DefaultEngine.ini】文件,添加:
[OnlineSubsystem] DefaultPlatformService=NullDefaultEngine.ini修改
4)找到【Source】文件夾,找到【MyProect.Build.cs】文件,添加:
MyProect.Build.cs修改
5)生成該項(xiàng)目生成完后記得重啟一下虛幻引擎,讓他重新加載一下配置文件
生成一下,加載配置文件
6)設(shè)置一下同時(shí)調(diào)試的玩家數(shù)量,完成后打開(kāi)Advanced Settings...
設(shè)置調(diào)試人數(shù)和高級(jí)設(shè)置
7)設(shè)置一下窗口大小,這個(gè)根據(jù)個(gè)人習(xí)慣來(lái),我是覺(jué)得太大不方便,當(dāng)然雙屏的同學(xué)可以笑了
窗口顯示選項(xiàng)
8)然后點(diǎn)擊窗口運(yùn)行
雙窗口顯示
此時(shí)我們可以看到已經(jīng)以看到服務(wù)器與客戶端的虛擬形式表的窗口了
Paste_Image.png
此種用引擎調(diào)試是不走網(wǎng)絡(luò)的,屬于走127.0.0.1這種地址返回本機(jī),故只能用于調(diào)試用,請(qǐng)不要嘗試發(fā)布多機(jī)測(cè)試!
--------------------預(yù)習(xí)部分--------------------
描述一下聯(lián)網(wǎng)過(guò)程:
1)目標(biāo):假設(shè)需要使2臺(tái)機(jī)器連接到同一個(gè)局域網(wǎng)游戲內(nèi)
2)過(guò)程:
a.打開(kāi)一臺(tái)主機(jī)上的應(yīng)用,點(diǎn)擊創(chuàng)建房間,(這時(shí)候該程序會(huì)使用UDP的方式在局域網(wǎng)內(nèi)廣播自己建立主機(jī)的消息【廣播只存在于UDP協(xié)議,使用UDP.sendto向地址255.255.255.255實(shí)現(xiàn)局域網(wǎng)廣播】)
b.啟動(dòng)另一臺(tái)機(jī)器上的應(yīng)用點(diǎn)擊搜索房間,此時(shí)后臺(tái)開(kāi)啟對(duì)XXXUDP端口的監(jiān)聽(tīng)(這個(gè)時(shí)候就應(yīng)該搜到剛才開(kāi)啟的主機(jī)所發(fā)出的廣播消息了)
c.拿到地址然后再進(jìn)行TCP連接,此時(shí)就算是正式完成了局域網(wǎng)連接;
--------------------預(yù)習(xí)1核心API--------------------
【Switch Has Authority】
此宏用來(lái)判斷當(dāng)前流程線所在應(yīng)用是否為主機(jī),
是否擁有權(quán)限,或者直接認(rèn)為是否是主機(jī)好了
輸出結(jié)果為:
a.當(dāng)前流程為主機(jī)【Authority】;
b.當(dāng)前流程不為主機(jī)【Remote】;
同判斷的節(jié)點(diǎn)還有【Has Authority】...
has Authority節(jié)點(diǎn)
【Create Session】
此節(jié)點(diǎn)用來(lái)創(chuàng)建房間/主機(jī),并開(kāi)啟UDP廣播,
輸入?yún)?shù)有:
a.玩家引用【PlayerController】
b.最大連接數(shù)量【PublicConnections】
c.是否使用局域網(wǎng)【UseLAN】
創(chuàng)建會(huì)話
輸出:
d.無(wú)異常走【OnSuccess】;
e.發(fā)生異常走【OnFailure】;
【Find Session】
此節(jié)點(diǎn)用來(lái)搜索房間/主機(jī),并開(kāi)啟對(duì)UDP端口的監(jiān)聽(tīng),
輸入?yún)?shù)有:
a.玩家引用【PlayerController】
b.最多返回幾個(gè)主機(jī)的消息【MaxResults】
c.是否使用局域網(wǎng)【UseLAN】
查找會(huì)話
輸出:
d.流程出同上,
e.返回?cái)?shù)組為接收到的主機(jī)消息列表【Results】
參數(shù)類型為
【Join Session】
此節(jié)點(diǎn)使用主機(jī)消息引用加入會(huì)話,
輸入?yún)?shù)有:
a.玩家引用【PlayerController】
b.搜索到的主機(jī)結(jié)果【Search Result】
加入會(huì)話
輸出:
c.流輸出同上
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的UE4 HTC VIVE - 番外篇 - 局域网联机(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 四川雅安6.1级地震 多地震感强烈:5分
- 下一篇: idea maven创建java项目_新