네트워크 캐릭터 Stat 구현 & 최적화 요소 - Unreal Network MultiPlayer Framework 캐릭터 Item과 Stat 구현 시 고려할 사항클라이언트와 서버는 Level에 있는 상제와 Item 상자에 설정된 Overlap Event에 반응해서 Stat이나 Item을 추가한다.이렇게 Item이나 Stat가 변경 될 때 서버, 클라1, 클라2가 존재한다고 가정하면서버가 클라1에게 클라1에 대한 상세한 Stat 정보를 줘야하지만 클라2의 상세한 정보(Stat정보)를 주지 않아도 된다.클라2의 정말 필요한 정보(HP)만 클라1에게 줘도 무관하다.그리고 모든 클라이언트의 Stat정보를 주게되면 네트워크 통신 데이터양도 많아지기에 성능상 좋지 않다. 즉, 서버는 각 클라이언트에게 필요한 정보만 전달하는 것이 좋다. 구현 예시게임 플레이에 영향을 주지 않는 시각적인 부분(Effect)는 서버와 클라이언트가 .. 2025. 3. 12. 캐릭터 Movement 추가 예시 - Unreal Network MultiPlayer Framework 이번 글에선 CharcterMovementComponent를 상속해서 텔레포트를 만들어 볼 것이다.CharacterMovementComponent를 상속해서 만드는 이유는https://dev.epicgames.com/documentation/ko-kr/unreal-engine/character-movement-component?application_version=4.27해당 공식문서의 아래쪽에이 토픽에서 다른 방법으로 구현했을 때의 단점을 살펴보면 된다. 이번 구현에서는CharacterMovmentComponent가 사용하는 RPC기능에 텔레포 기능을 추가 선언하고몇몇 함수를 override하여 텔레포트를 구현해볼 것이다. Teleport IA를 만들어주고 InputAction도 추가한다.이제 캐릭터 h.. 2025. 3. 12. 물리 리플리케이션 & 움직임 리플리케이션 예시 - Unreal Network MultiPlayer Framework 일반 움직임 리플리케이션 예시간단하게 움직이는 Platform을 만들어 주고Replicates를 true로 활성화해준다.이렇게하면Platform에 대한 Replication이 네트워크를 통해 클라이언트에 전송된다.하지만 아직 움직임은 전송이 되지 않는다.Replicate Movement도 활성화해야 움직임도 전송된다. 물리 시뮬레이션 리플리케이션 예시10초 뒤에 Physic가 활성화 되는 Shpere를 만들어주고공이 떨어져서 판을 무너트리는 동작을 수행한다.이때 Sphere는 위 두가지 Replicate가 활성화되어있다.근데 Server와 Client의 결과가 다르다.왜냐면 네모판과 두 기둥 StaticMesh Actor가 Replication이 활성화되어있지 않기 때문이다.StaticMeshRepli.. 2025. 3. 11. 움직임 리플리케이션 플로우 & Simulated Proxy 리플리케이션 - Unreal Network MultiPlayer Framework Simulated Proxy & 움직임 리플리케이션을 사용하기 위해선Actor의 움직임 리플리케이션 옵션을 활성화해야 올바르게 동작한다.Actor 움직임 리플리케이션 플로우서버에서 움직임 리플리케이션 옵션을 활성화매 Tick마다 현재 Actor의 움직이나 물리 상태를 ReplicatedMovement라는 멤버 변수에 저장ReplicatedMovement라는 멤버 변수를 클라이언트의 SimulatedProxy에 전송OnRep_ReplicatedMovement함수 호출클라이언트의 움직임이나 물리상태를 기록한다.클라이언트는 Tick마다 물리 & 움직임 처리를 진행한다.물리가 활성화되어있다면 물리 리플리케이션 Tick에서 클라이언트와 서버에 물리상태를 동기화캐릭터는 CharacterMovement의 매 Tick.. 2025. 3. 11. 이전 1 2 3 4 ··· 7 다음