Unreal/[서적] 언리얼5 이득우님 인프런115 Ch 15. 언리얼 빌드 시스템 15.1 언리얼 에디터 프로젝트 구성 15.1-1 언리얼 에디터의 구성 - 언리얼 엔진의 구성 에디터: 게임 제작을 위해 제공되는 응용 프로그램(일반적으로 인식하는 언리얼 엔진) 게임빌드: .exe 파일과 리소스로 이뤄진 독립적으로 동작하는 게임 클라이언트 - 언리얼 에디터의 특징 게임 개발 작업을 위해 다양한 폴더와 파일 이름 규칙이 미리 설정되어 있음. 정해진 규칙을 잘 파악하고 프로젝트 폴더와 파일을 설정해야 함. - 에디터에서 기획과 개발을 완료한 후, 게임 빌드를 통해 최종 게임 빌드를 제작하도록 설정 15.1-2 언리얼 에디터의 동작 - 프로젝트 폴더의 .uproject 파일을 더블클릭하면 에디터가 실행됨. - 에디터의 실행 방식 .uproject 확장자는 윈도우 레지스트리에 등록되어 있음. .. 2023. 5. 13. Ch 14. 패키지 14.1 언리얼 오브젝트 패키지 14.1-1 언리얼 오브젝트 패키지 - 단일 언리얼 오브젝트가 가진 정보는 저장할 수 있지만, 오브젝트들이 조합되어 있다면? 저장된 언리얼 오브젝트 데이터를 효과적으로 찾고 관리하는 방법은? 복잡한 계층 구조를 가진 언리얼 오브젝트를 효과적으로 저장 및 불러들이는 방법을 통일해야 함. - 언리얼 엔진은 이를 위해 패키지 단위로 언리얼 오브젝트를 관리함. - 패키지의 중의적 개념 언리얼 엔진은 다양한 곳에서 "패키지"라는 단어를 사용하고 있음. 언리얼 오브젝트를 감싼 포장 오브젝트를 의미하기도 하고(이번 단원의 주제) 개발된 최종 컨텐츠를 정리해 프로그램으로 만드는 작업을 의미하기도 하고(게임 패키징) DLC와 같이 향후 확장 컨텐츠에 사용되는 별도의 데이터 묶음을 의미하기.. 2023. 5. 13. Ch 13. 직렬화 13.1 언리얼 엔진의 직렬화 13.1-1 직렬화란 - 오브젝트나 연결된 오브젝트의 묶음(오브젝트 그래프)을 바이트 스트림으로 변환하는 과정 복잡한 데이터를 일렬로 세우기 때문에 직렬화라고 부름. - 거꾸로 복구시키는 과정도 포함해서 의미함. 시리얼라이제이션: 오브젝트 그래프에서 바이트 스트림으로 디시리얼라이제이션: 바이트 스트림에서 오브젝트 그래프로 - 직렬화가 가지는 장점 현재 프로그램의 상태를 저장하고 필요할 때 복원할 수 있음.(게임의 저장) 현재 개체의 정보를 클립보드에 복사해서 다른 프로그램에 전송할 수 있음. 네트워크를 통해 현재 프로그램의 상태를 다른 컴퓨터에 복원할 수 있음.(멀티플레이) 데이터 압축, 암호화를 통해 데이터를 효율적이고 안전하게 보관할 수 있음. 13.1-2 직렬화 구현시.. 2023. 5. 13. Ch 12. 언리얼 엔진의 메모리 관리 12.1 언리얼 엔진의 메모리 관리 시스템 12.1-1 C++ 언어 메모리 관리의 문제점 - C++은 매니지드 언어임. 메모리 주소에 직접 접근하는 포인터를 사용해 오브젝트 관리. 따라서 프로그래머가 직접 할당/해지 짝맞추기를 해야 함. 이를 ㅓ지키지 않으면 다양한 문제 발생 - 잘못된 포인터 사용 예시 메모리 누수 / 댕글링 포인터 / 와일드 포인터(주소값이 초기화 되지 않아 엉뚱한 주소를 가리킴) - 게임 규모가 커지고 복잡해질수록 프로그래머가 실수할 확률은 기하급수적. 모던 개체지향 언어들은 포인터를 버리고 가비지 컬렉션 시스템을 도입. 12.1-2 가비지 컬렉션 시스템 - 프로그램에서 더이상 사용하지 않는 오브젝트를 자동 감지 후 메모리 회수하는 시스템. 동적으로 생성된 모든 오브젝트 정보를 모아.. 2023. 5. 13. 이전 1 2 3 4 다음