iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0
自我挑戰組

遊戲中的冰山一角-網路連線系列 第 29

Day29-Unreal連線初學(14)-相關工具與插件

  • 分享至 

  • xImage
  •  

在理解UE的大概網路架構後,接者筆者想要分享UE內建的工具讓開發網路遊戲更加的方便,首先是模擬網路環境的選項,在開啟我們的專案後打開Editor Preferences
https://ithelp.ithome.com.tw/upload/images/20220929/20151289FLQYwGWNzf.png
在搜尋欄位輸入Multiplayer Options可以找到許多關於多人連線遊戲的設定
https://ithelp.ithome.com.tw/upload/images/20220929/20151289ZgVNMxjhmG.png
這邊我們要關注Enable Network Emulation,一般狀態下他都是關閉的這邊我們可以打開它,接著會有很多選項

  • Emulation Target
  • Network Emulation Profile
  • Incoming & Outgoing traffic

Emulation Target裡面可以選擇我們想要測試的目標平台,有伺服端、客戶端與全部。

Network Emulation Profile有預設好的網路環境設定,它會改變Incoming與Outgoing的設定參數,透過這兩個設定就能夠模擬出該平台在遇到某些網路問題時可能會出現的現象,這樣能在開發階段就能測試出許多網路連線上可能出現的問題,避免在實際發售後讓玩家的體驗不佳。

如筆者將設定調整成如下圖,客戶端的Incoming(下載)與Outgoing(上傳)的延遲都至少有100毫秒還有5%的封包有可能遺失
https://ithelp.ithome.com.tw/upload/images/20220929/20151289KyS3lZH3Su.png
執行起來讀者會發現客戶端在載入遊戲會花較長的時間,並且在實際遊玩上伺服端與客戶端會有不同步的狀況,在伺服端都是即時執行而客戶端為了等待伺服端的同步資訊在網路差的狀況下就會有延遲出現。


另外一個也是UE製作好的Online Subsystem,他提供了介面與許多的平台進行對接,他是以Plugin的形式存在於UE引擎中,需要支援到哪一個平台只要開啟對應的Plugin API進行調用即可。
https://ithelp.ithome.com.tw/upload/images/20220929/20151289YM6S1gKZHj.png
大家熟知的XBOX,Steam或Amazon等等都有支援,並且透過Subsystem介面還能實現多平台連線,開發者也不需要為每個平台寫出專屬的伺服器程式,他能夠直接對應於該平台做出合理的反應,可以說是非常的方便,在官方文件中也有很多詳細的使用指南可以查找。
Unreal官方文件


上一篇
Day28-Unreal連線初學(13)-Character Movement Component(2)
下一篇
Day30-結語
系列文
遊戲中的冰山一角-網路連線30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言