[Part1] 15.언리얼 빌드 시스템
UE5/이득우의 언리얼 프로그래밍 공부 노트 2024. 3. 15. 18:44[Part1] 15.언리얼 빌드 시스템

⚙️언리얼 에디터 프로젝트 구성 언리얼 에디터 구성 게임 제작을 위해 에픽 게임즈가 제공하는 저작 도구 ==언리얼 엔진의 구성== 에디터 ⇒ 게임 제작을 위해 제공되는 응용 프로그램 (일반적으로 인식하는 언리얼 엔진) 게임 빌드 ⇒ EXE 파일과 리소스로 이루어진 독립적으로 동작하는 게임 클라이언트 ==언리얼 에디터의 특징== 게임 개발 작업을 위해 다양한 폴더와 파일 이름 규칙이 미리 설정되어 있다. 정해진 규칙을 잘 파악하고 프로젝트 폴더와 파일을 설정해야 함. 에디터에서 기획과 개발을 완료한 후, 게임 빌드를 통해 최종 게임 빌드를 제작하도록 설정 언리얼 에디터의 동작 프로젝트 폴더의 uproject확장자를 더블클릭하면 에디터가 트리거 됨. 에디터의 실행 방식 uproject확장자는 윈도우 레지스트..

[Part1] 14.언리얼 오브젝트 관리 2 - 패키지
UE5/이득우의 언리얼 프로그래밍 공부 노트 2024. 3. 13. 18:14[Part1] 14.언리얼 오브젝트 관리 2 - 패키지

📦패키지 언리얼 오브젝트 패키지 단일 언리얼 오브젝트가 가진 정보는 저장할 수 있지만, 오브젝트들이 조합되어 있다면? 저장된 언리얼 오브젝트 데이터를 효과적으로 찾고 관리하는 방법은? 복잡한 계층 구조를 가진 언리얼 오브젝트를 효과적으로 저장과 불러들이는 방법을 통일해야함 언리얼 엔진은 이를 위해 패키지(UPackage)단위로 언리얼 오브젝트를 관리함. 패키지의 중의적 개념 언리얼 엔진은 다양한 곳에서 단어 "패키지" 를 사용하고 있음 언리얼 오브젝트를 감싼 포장 오브젝트를 의미함. (이번 강의의 주제) 또한 개발된 최종 컨텐츠를 정리해 프로그램으로 만드는 작업을 의미함 → 예) 게임 패키징 DLC와 같이 향후 확장 컨텐츠에 사용되는 별도의 데이터 묶음을 의미하기도 함 → 예) pkg파일 구분을 위해 언..

[Part1] 13.언리얼 오브젝트 관리 1 - 직렬화
UE5/이득우의 언리얼 프로그래밍 공부 노트 2024. 3. 12. 13:31[Part1] 13.언리얼 오브젝트 관리 1 - 직렬화

언리얼 엔진의 직렬화 직렬화(Serialization)란? 오브젝트나 연결된 오브젝트의 묶음(오브젝트 그래프)을 바이트 스트림으로 변환하는 과정 복잡한 데이터를 일렬로 세우기 때문에 직렬화 거꾸로 복구시키는 과정도 포함해서 의미 Serialization : {오브젝트 그래프 → 바이트 스트림}으로 Deserialization : {바이트 스트림 → 오브젝트 그래프}로 직렬화가 가지는 장점 현재 프로그램의 상태를 저장하고 필요한 때 복원할 수 있다. (게임의 저장) 현재 객체의 정보를 클립보드에 복사해서 다른 프로그램에 전송할 수 있다. 네트워크를 통해 현재 프로그램의 상태를 다른 컴퓨터에 복원할 수 있다. (멀티플레이어 게임) 데이터 압축, 암호화를 통해 데이터를 효율적이고 안전하게 보관할 수도 있음. ..

[Obsidian] 옵시디언 노트를 Netlify로 정적 호스팅해보자
코무합니다만 2024. 1. 28. 23:15[Obsidian] 옵시디언 노트를 Netlify로 정적 호스팅해보자

✌️개요 옵시디언을 잘 사용하고있는데 여러 플러그인과 테마를 쓰면 보기에도 참 좋다. 코드블록이라던가... 콜아웃이라던가... 옵시디언에서 글을 작성하고 그대로 티스토리에 올리기도 하는데 당연히 저런건 티스토리로 넘어오면 이상하게 보인다. 그래서 블로그 자체를 옮기는건 빡쎄더라도 옵시디언 모습 그대로 호스팅할 수 있으면 얼마나 좋을까... 생각하다가 좋은 방법을 찾아서 메모한다. 🔥본문 📌옵시디언 Export 우선 옵시디언에서 html로 export하기 위해 플러그인을 설치해야한다. https://github.com/KosmosisDire/obsidian-webpage-export 이 플러그인인데 옵시디언에서 커뮤니티 플러그인에서 설치하면 된다. 하지만 지금 1.7.3 릴리즈 버전에 버그가 있어서 나는 ..

UE5/이득우의 언리얼 프로그래밍 공부 노트 2024. 1. 28. 19:14[Part1] 12.언리얼 엔진의 메모리 관리

언리얼 엔진의 자동 메모리 관리 C++ 언어 메모리 관리의 문제점 C++은 저수준으로 메모리 주소에 직접 접근하는 포인터를 사용해 오브젝트를 관리한다. 그러다보니 프로그래머가 직접 할당(new)과 해지(delete) 짝 맞추기를 해야 한다. 이를 잘 지키지 못하는 경우 다양한 문제가 발생할 수 있음 잘못된 포인터 사용 예시 메모리 누수(Leak) ⇒ new를 했는데 delete 짝을 맞추지 못함 → 힙에 메모리가 그대로 남아있음 허상(Dangling)포인터 ⇒ (다른곳에서) 이미 해제해 무효화된 오브젝트의 주소를 가리키는 포인터 와일드(wild)포인터 ⇒ 값이 초기화되지 않아 엉뚱한 주소를 가리키는 포인터 잘못된 포인터 값은 다양한 문제를 일으키며, 한 번의 실수는 프로그램을 종료시킴 게임 규모가 커지고..

[라즈베리파이] 초기 설정
라즈베리파이 2024. 1. 17. 23:08[라즈베리파이] 초기 설정

❗**이 글은 라즈베리파이를 처음 만져보며 메모를 겸하며 작성한 글이라 조금 비 전문적일 수 있습니다.**❗ 🔥imager 설치 후 실행 우선 여기서 imager installer를 다운받고 설치해준다. 실행 후 대충 디바이스, os, usb포트를 골라주고 다음 클릭 OS 커스터마이징 질문 팝업이 뜬다 설정 편집 클릭 🔥OS 커스터마이징 일반 탭 사용자 이름과 비밀번호 설정(ssh를 위해) 와이파이 미리 설정 → 무선LAN 국가도 주파수때문에 중요한듯 하다. 키보드 레이아웃 옵션은 최근에 추가된것 같은데(아마도) 일단 kr로 해봤다. 서비스 탭 SSH 사용 체크 비밀번호 인증 사용 선택 저장하고 설치를 쭉쭉 진행한다. 설치완료! 🔥SSH 접속 (with powershell) 우선 공유기 설정을 들어가든 ..

image