본문 바로가기

전체 글

(62)
UE C++ 빌드 시스템 언리얼 에디터 구성게임 제작을 위해 에픽 게임즈가 제공하는 저작 도구언리얼 엔진의 구성에디터 : 게임 제작을 위해 제공되는 응용 프로그램 ( 일반적으로 인식하는 언리얼 엔진)게임 빌드 : EXE 파일과 리소스로 이루어진 독립적으로 동작하는 게임 클라이언트언리얼 에디터의 특징게임 개발 작업을 위해 다양한 폴더와 파일 이름 규칙이 미리 설정.정해진 규칙을 잘 파악하고 프로젝트 폴더와 파일을 설정.에디터에서 기획과 개발을 완료한 후, 게임 빌드를 통해 최종 게임 빌드를 제작하도록 설정 에디터 버전 정보의 파악프로젝트 .uproject 텍스트 파일에 버전 정보가 정의..uproject 확장자는 에디터를 띄우기 위한 명세서 역할버젼 내용은 JSON 형식으로 구성.파일에 기록된 버전 정보를 바탕으로 에픽 런처가 지..
UE C++ 직렬화 서론언리얼 엔진(UE)에서 C++을 사용해 게임을 개발할 때, 데이터의 저장과 불러오기를 효율적으로 처리하기 위해 직렬화(Serialization)가 필요합니다. 직렬화는 객체의 상태를 저장하여 나중에 복원할 수 있도록 하는 과정입니다. 이 포스트에서는 언리얼 엔진에서 사용하는 직렬화에 대해서 알아보려고 합니다.  직렬화우선 언리얼 엔진의 직렬화를 알아보기에 앞서서 직렬화에 대한 개념을 간단하게 짚고 넘어가려고 합니다.직렬화는 객체의 상태를 바이트 스트림으로 변환하여 저장하거나 전송할 수 있도록 하는 과정입니다.이를 통해 데이터를 파일에 저장하거나 네트워크를 통해 전송한 후 동일한 객체로 복원할 수 있습니다.데이터 -> 바이트 스트림 변환 과정을 Serialization,바이트 스트림 -> 데이터 변환 ..
UE C++ 메모리 관리 C++ 언어 메모리 관리의 문제점C++은 저수준으로 메모리 주소에 직접 접근하는 포인터를 사용해 오브젝트를 관리프로그래머가 직접 할당(new)과 해지(delete) 짝 맞추기가 필요이를 잘 지키지 못하는 경우 다양한 문제가 발생할 수 있음.잘못된 포인터 사용 예시메모리 누수(Leak) : new를 했는데 delete 짝을 맞추지 못함. 힙에 메모리가 그대로 남아있음.허상(Dangling) 포인터 : (다른곳에서) 이미 해제해 무효화된 오브젝트의 주소를 가리키는 포인터와일드(Wild) 포인터 : 값이 초기화되지 않아 엉뚱한 주소를 가리키는 포인터잘못된 포인터 값은 다양한 문제를 일으키며, 한 번의 실수는 프로그램을 종료.게임 규모가 커지고 구조가 복잡해질수록 프로그래머가 실수할 확률은 크게 증가.C++ 이..