전체 글 썸네일형 리스트형 [Tips] UFNCTION 리플렉션의 역할을 하는 매크로이다. 이는 언리얼에서 동적으로 추적한다는 의미로, 보통 다이나믹 델리게이트에서 많이 사용한다. UFNCTION의 동적 추적은 개발자가 메모리 관리를 할 필요 없게 해준다. 더보기 [Tips] Delegate 원하는 타이밍에 원하는 동적을 지원하는 방식으로, 언리얼에서 델리게이트는 Callback 함수에 바인딩되어 해당 Delegate와 연결된 모든 기능에 응답으로 호출한다. 더보기 [Tips] TSharedPtr 언리얼에서 사용하는 공유 포인터로, 이를 사용하면 메모리 관리를 엔진 밖에서 담당하여 개발자가 따로 관리해줄 필요가 없어진다. 더보기 [UE5 C++ Multiplayer Shooter] #04 Session Interface Create & Join 온라인 서브시스템은 플랫폼 서비스와 인터페이스로 나뉜다.인터페이스 내에서는 Session Interface를 비롯한 다양한 인터페이스가 존재한다. 이는 모두 IOnlineSubSystem을 통해 접근이 가능하다. 이러한 온라인 서브시스템은 델리게이트를 이용하여 이벤트를 처리한다. 이 중 세션은 서버에서 실행되는 게임의 인스턴스로, 게임을 플레이하려는 플레이어가 찾아서 참여하는 등 멀티플레이에 있어서 기초적인 역할을 수행한다. 그렇기 때문에 Session Interface에는 다양한 기능이 존재한다. 세션을 만들고(Creating Sessions), 업데이트 하고(Update Sessions) 소멸시키고(Destroy Sessions) 세션을 탐색하는(Find Sessions)등 다양한 기능을 인터페이스의.. 더보기 [UE5 C++ Multiplayer Shooter] #03 Online Subsystem 과 Online Subsystem Steam 로컬 IP 주소를 이용한 네트워크 연결은 구현이 쉽지만, 한계가 명확하다. 플레이어가 서로 동일한 라우터에 연결되어 있어야 하고, 만일 외부에서 접속하고자 한다면 포트포워딩등 수많은 애로사항이 생긴다.그렇다면, 외부에서 서버로 연결하고자 할 때 어떤 방법을 쓸 수 있을까? 이때 사용 가능한 것이 바로 OnlineSubsystem이다. 이 OnlineSubsystem은 별도의 IP를 요구하지 않는다. 네트워크 전반을 UE에서 처리하기 때문이다. 또한 하나의 코드베이스를 통해 다양한 서비스, 스팀/구글등을 지원한다. 이러한 온라인 서브 시스템은 스팀으로 예를 들면, 다음과 같이 친구 목록을 열고, 게임에 참여하는 등 스팀에서 제공하는 온라인 API를 사용할 수 있다. 물론 이를 이용하기 위해서는 SteamD.. 더보기 [UE5 C++ Multiplayer Shooter] #02 LAN 접속 본격적인 온라인 환경에 들어가기 앞서, LAN 즉, 근거리 통신망에서 접속을 먼저 해보며 언리얼 엔진의 C++ 코드와 이를 블루프린트에서 활용하는 방법을 알아본다. LAN 환경에서 게임에 접속하기 위해서는1. 접속시 들어갈 맵(레벨)2. 들어갈 맵을 이용할 IP 주소가 필요하다. 이를 블루프린트로만 구현하면 다음과 같다.맵을 여는 방법에는 Open Level에서 by name과 by object reference로 나누어진다. 이는 맵을 열 때 이름으로 열 것인지, 아니면 에셋을 정해두고 해당 에셋을 열지 결정한다. 그리고 2번 키를 누르면, Console Command가 작동하는데, 여기에서 Open IP Address를 통해 해당 아이피에 접속한다. 언리얼을 이용하여 게임을 개발할 때 개발자가 처음 .. 더보기 [UE5 C++ Multiplayer Shooter] #01 언리얼 엔진의 프레임 워크와 기초 그리고 네트워크 일반적인 게임 엔진은 다음 코드의 흐름대로 진행된다.언리얼에서는 이러한 루프를 직접 다루지 않고, 기본함수가 아닌 인터페이스나 함수를 상속받아 확장하는 방법으로 구현한다. 이때, 언리얼 엔진의 프레임 워크에서 진행되는 흐름에 따라, 원하는 타이밍에 이를 넣어 쓰게 된다.즉, 이 루프 과정에서 개발자는 엔진이 초기화되는 과정에서 진행되었으면 하는 일련의 로직들을 프레임워크의 흐름에 맞게 작성한다. 싱글플레이 기반의 게임이 아닌, 멀티플레이 기반의 네트워크 게임을 제작하는 방법을 먼저 배우게 된다면, 언리얼을 통한 게임 개발의 확장성을 획득할 수 있고(점점 배워가면서 알게 되겠지만, 멀티플레이 지원이 상당히 머리아프다. 싱글게임을 멀티플레이로 바꾸는 작업보다, 멀티플레이를 싱글로 사용하는 방법이 훨씬 훨씬 .. 더보기 [Revortor] #01 기획서 보호되어 있는 글입니다. 더보기 이전 1 2 3 4 5 ··· 10 다음