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