Unreal Engine
-
Actor ReplicationUnreal Engine 2024. 4. 18. 00:30
Replication -> 특정 플레이어에 속한 액터의 정보를 네트워크 내 다른 플레이어에게 복제하는 작업 클라이언트-서버 모델에서는 대부분 서버에서 클라이언트로 전달함 리플리케이션의 방법 1. Property Replication 2. RPC(Remote Procedure Call) 네트워크 데이터를 최소화하기 위해, 변경 사항을 보내기보다는 변경을 유발한 속성 값을 전달함 3 부연 설명 - AActor 클래스의 GetLifetimeReplicatedProps 함수를 오버라이드하고, 해당 함수 안에 DOREPLIFETIME 매크로로 리플리케이트할 속성을 지정함 예시 코드 virtual void GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const ov..
-
네트워크 환경에서 액터의 역할 - ROLE -Unreal Engine 2024. 4. 17. 16:41
서버에 있는 액터는 Authority를 가짐 클라이언트의 액터는 대부분 서버의 액터를 복제한 허상(Proxy)에 불과함 현재 동작하는 애플리케이션에서의 역할을 Local_Role, 커넥션으로 연결된 애플리케이션에서의 역할을 Remote Role이라고 한다. 클라이언트의 Proxy는 크게 Autonomous와 Simulated로 구분된다. Autonomous는 클라이언트의 입력 정보를 서버에 보내는 능동적인 역할을 일부 수행한다. (플레이어 컨트롤러, 폰) Simulated는 일방적으로 서버로부터 데이터를 구신하고 이를 반영한다. 신뢰할 수 있는 액터, 즉 Authority를 가진 액터만 게임 로직을 수행할 수 있음 AActor::HasAuthority로 확인 가능 Autonomous Proxy는 예외적으..
-
이득우의 Multi-Player FrameworkUnreal Engine 2024. 4. 15. 19:13
Networking Overview for Unreal Engine Learn about networking in Unreal Engine including fundamental concepts and the available replication systems. dev.epicgames.com 클라이언트는 자신이 소유한 폰을 원격 제어하여 게임 내 동작을 수행하도록 서버에 프로시저 호출을 보낸다. 서버는 어떤 액터가 존재하야 하는지, 해당 액터가 어떻게 동작해야 하는지, 다양한 변수가 어떤 값을 가져야 하는지 등 게임 상태에 대한 정보를 각 클라이언트로 복제한다. Standalone 원격 연결을 허용하지 않는 상태로, 로컬 플레이에 사용됨 Client 네트워크에 연결된 상태에서 서버에서 받은 정보를 프..