[UE5] Net Update Frequency 수정하기
Net Update Frequency는 네트워크 오브젝트가 얼마나 자주 업데이트되어야 하는지를 설정하는 변수다. 이 값은 초당 업데이트 수를 결정한다.예를 들어, "Net Update Frequency"가 10으로 설정된 경우, 해당 오브젝트는 초당 최대 10번까지 서버에 의해 클라이언트에게 업데이트 된다.
목차
Net Update Frequency 수정하기
Net Update Frequency는 네트워크 오브젝트가 얼마나 자주 업데이트되어야 하는지를 설정하는 변수다. 이 값은 초당 업데이트 수를 결정한다.
예를 들어, "Net Update Frequency"가 10으로 설정된 경우, 해당 오브젝트는 초당 최대 10번까지 서버에 의해 클라이언트에게 업데이트 된다. 높은 업데이트 빈도는 실시간 동기화에 도움이 될 수 있지만, 네트워크 대역폭을 많이 사용하므로 성능 문제가 발생할 수 있다.
반대로 낮은 "Net Update Frequency" 값은 네트워크 대역폭을 절약할 수 있지만, 게임 오브젝트의 동기화 지연을 초래할 수 있습니다. 따라서 이 값을 조정할 때는 성능과 게임 플레이 품질 사이의 균형을 찾아야 한다.
많은 멀티플레이어 게임에서 "Net Update Frequency"는 중요한 최적화 요소다. 이 값으로 인해 클라이언트와 서버 간의 데이터 전송량과 타이밍을 제어하여 전체적인 네트워크 성능과 게임 경험을 개선할 수 있다.
BP_BaseCharacter
FPS 게임에 적합하도록 수치를 수정해준다.
- Net Update Frequency: 66.0
- Min Net Update Frequency: 33.0
아래 두 개의 값이 낮으면 게임 플레이 중 lag이 발생한다. ex. Player1의 동작이 Player2의 화면에서는 뚝뚝 끊겨서 보인다.
BaseCharacter.cpp
ABaseCharacter::ABaseCharacter()
{
//...
NetUpdateFrequency = 66.0f;
MinNetUpdateFrequency = 33.0f;
}
DefaultEngine.ini 수정하기
DefaultEngine.ini 맨 아래에 다음 코드 추가하기
[/Script/OnlineSubsystemUtils.IpNetDriver]
NetServerMaxTickRate=60
NetServerMaxTickRate은 서버가 클라이언트에게 보내는 업데이트 횟수(=number of updates)다.
인터넷 속도가 충분히 빠르면 클라이언트는 해당 수치만큼 업데이트하고 인터넷이 느리면 해당 수치보다 업데이트 횟수가 낮게 나온다.
DefaultEngine.ini
[/Script/EngineSettings.GameMapsSettings]
GameDefaultMap=/Game/BP/TestLevel.TestLevel
EditorStartupMap=/Game/BP/TestLevel.TestLevel
GlobalDefaultGameMode=/Game/BP/Character/BP_GameMode_Test.BP_GameMode_Test_C
TransitionMap=/Game/Maps/TransitionMap.TransitionMap
[/Script/IOSRuntimeSettings.IOSRuntimeSettings]
MinimumiOSVersion=IOS_14
[/Script/Engine.RendererSettings]
r.Shadow.Virtual.Enable=1
r.Mobile.EnableNoPrecomputedLightingCSMShader=1
r.GenerateMeshDistanceFields=True
r.DynamicGlobalIlluminationMethod=1
r.ReflectionMethod=1
[/Script/HardwareTargeting.HardwareTargetingSettings]
TargetedHardwareClass=Desktop
AppliedTargetedHardwareClass=Desktop
DefaultGraphicsPerformance=Maximum
AppliedDefaultGraphicsPerformance=Maximum
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
[/Script/Engine.Engine]
+ActiveGameNameRedirects=(OldGameName="TP_ThirdPerson",NewGameName="/Script/Multiplayer")
+ActiveGameNameRedirects=(OldGameName="/Script/TP_ThirdPerson",NewGameName="/Script/Multiplayer")
+ActiveClassRedirects=(OldClassName="TP_ThirdPersonGameMode",NewClassName="MultiplayerGameMode")
+ActiveClassRedirects=(OldClassName="TP_ThirdPersonCharacter",NewClassName="MultiplayerCharacter")
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
bEnablePlugin=True
bAllowNetworkConnection=True
SecurityToken=0EE075DC4E9840DD7FB23B839AD4B854
bIncludeInShipping=False
bAllowExternalStartInShipping=False
bCompileAFSProject=False
bUseCompression=False
bLogFiles=False
bReportStats=False
ConnectionType=USBOnly
bUseManualIPAddress=False
ManualIPAddress=
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
[OnlineSubsystem]
DefaultPlatformService=Steam
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
bInitServerOnClient=true
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
[/Script/OnlineSubsystemUtils.IpNetDriver]
NetServerMaxTickRate=60
'⭐ Unreal Engine > UE Multiplayer FPS TPS + ListenServer' 카테고리의 다른 글
[UE5] 크로스헤어 Crosshair (0) | 2023.10.01 |
---|---|
[UE5] 무기 시스템 만들기(무기, 발사체 타입무기, 발사체) (0) | 2023.09.27 |
[UE5] 무기 줍기 - RPC 고려하기 (0) | 2023.09.21 |
[UE5] 플레이어 Role 머리 위에 띄우기 (0) | 2023.09.18 |
[UE] Multiplayer 11: Menu Subsystem 수정하기 (0) | 2023.07.17 |
댓글
이 글 공유하기
다른 글
-
[UE5] 크로스헤어 Crosshair
[UE5] 크로스헤어 Crosshair
2023.10.01 -
[UE5] 무기 시스템 만들기(무기, 발사체 타입무기, 발사체)
[UE5] 무기 시스템 만들기(무기, 발사체 타입무기, 발사체)
2023.09.27 -
[UE5] 무기 줍기 - RPC 고려하기
[UE5] 무기 줍기 - RPC 고려하기
2023.09.21 -
[UE5] 플레이어 Role 머리 위에 띄우기
[UE5] 플레이어 Role 머리 위에 띄우기
2023.09.18