Unreal Engine - 개발 환경 세팅 및 빌드 프로세스
·
Unreal Engine
1. 개발 환경 세팅1-1. 코드 편집기 세팅편집 -> 에디터 개인설정 -> 일반 -> 소스코드 -> 소스 코드 에디터 설정1-2. 프로젝트 내의 주요 파일.sln 파일 (솔루션 파일)C++ 소스코드와 빌드 설정이 연결된 파일.uproject 파일언리얼 에디터가 프로젝트 설정(content, map, plugin)을 불러올 때 사용하는 파일.vsconfig 파일visual studio 프로젝트에서 사용되는 특정 설정과 구성 요소 설치 요구 사항 정의1-3. 프로젝트 내의 주요 폴더.vs디버깅, 솔루션 설정 관련 파일BinariesC++ 코드를 빌드하면 생성되는 실행 파일이 저장 (.exe, .dll)Config게임플레이, 렌더링, 입력 등의 설정을 담은 .ini 파일이 존재Content 언리얼 에디터의 ..
TIL day 23
·
TIL
1. TIL day 22TIL day 22는 과제 코드 복습하고, 정리하면서 아래의 정리한 글로 대체하였습니다.https://gbleem.tistory.com/41 텍스트 RPG 게임 만들기 (C++)싱글턴 객체 / 전방 선언 / cin관련 함수 / 포인터 / const 에 관한 이야기 C++를 이용하여 텍스트 기반 RPG 게임을 만드는 과정에 있어서 생긴 이슈들을 중점으로 글을 정리해 볼 것이다.1. 싱글턴 객gbleem.tistory.com 2. C++ 어렵다.오늘은 어제 마무리 짓지 못한 과제 복습 글( https://gbleem.tistory.com/41 )을 마무리 지었습니다.가장 큰 이슈는 메모리 누수를 막는 것이었습니다.문제가 발생한 것 같은 코드를 확인하고, 공부를 수행하였습니다.추가적으로..
unique_ptr 써보기
·
C++
메모리 누수를 막는 코드를 짜면서, 여러가지 방식을 테스트 하다가 지금까지 써보지 않은 방식인 스마트 포인터를 사용해 보면서 정리해 보았다.관련 코드는 아래 깃허브의 TEXT_RPG 폴더를 체크해 보면 된다.https://github.com/GbLeem/Cpp_Issues 1. unique_ptr 간단한 문법unique_ptr은 헤더에 정의되어있으며, 단 하나의 소유권만 가지게 하는 smart pointer이다.unique_ptr name; 위와 같은 모습으로 선언할 수 있다.주의할 것은 대입과 복사는 불가능하고, 이동 연산은 가능하다.unique_ptr uPtr1;unique_ptr uPtr2(uPtr1); //복사 불가능uPtr2 = uPtr2; //대입 불가능unique_ptr uPtr3(move..
텍스트 RPG 게임 만들기 (C++)
·
C++
싱글턴 객체 / 전방 선언 / cin관련 함수 / 포인터 / const 에 관한 이야기 C++를 이용하여 텍스트 기반 RPG 게임을 만드는 과정에 있어서 생긴 이슈들을 중점으로 글을 정리해 볼 것이다.1. 싱글턴 객체 생성싱글턴 객체의 생성은 어디에서 해야 할까?싱글턴 객체로 구현한 클래스를 정의한 cpp 파일에서 하면 된다.//Character.hprivate: static Character* instance; //Character.cpp...Character* Character::instance = nullptr;Character* Character::GetInstance(string name){ if (instance == nullptr) { instance = new C..
TIL day 21
·
TIL
어제는(1/14) 면접을 보느라 TIL day 20이 없습니다.1. 코딩 테스트오늘 오전에는 오랜만에 코딩테스트 문제를 다시 풀었습니다.level 2에 피로도 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr뭘로 풀지?처음에 이 문제를 보고 그리디 문제처럼 보였습니다. 그런데 예제로 주어진 값들을 보면 어떤 방법으로도 그리디에 해당하지 않았습니다.필요 피로도나, 소모 피로도 둘 중 무엇을 우선시 하더라도 최적의 결과가 나오지 않아서 다른 방법을 생각해 모았습니다.이 문제의 ..
TIL day 19
·
TIL
1. 언리얼 엔진 개념 공부언리얼 엔진의 리플렉션, GC 그리고 데디케이트 서버에 관해 간단히 공부해 보았습니다.https://gbleem.tistory.com/35 Unreal Property System (Reflection)참고자료https://unrealcommunity.wiki/unreal-property-system-(reflection)-36d1e6 Unreal Property System (Reflection) | Unreal Engine Community WikiBrief description of the Unreal Property System.unrealcommunity.wikihttps://dev.epicgames.com/documentatigbleem.tistory.comhttps..
운영체제 몇 가지
·
CS
갑자기 생각난 운영체제에 관련된 내용들 몇 가지를 정리해 본 글입니다.0. 프로세스와 스레드https://velog.io/@gb_leem/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EB%A6%AC%EB%B7%B0-2-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%99%80-%EC%93%B0%EB%A0%88%EB%93%9C 운영체제 리뷰 2 - 프로세스와 쓰레드OS 2 - process and threadvelog.io프로세스 정의실행중인 프로그램같은 프로그램을 여러개 실행시켜도, 모두 다 프로세스이다.프로세스는 각자 고유한 가상 메모리를 가지고 있기에,실제 물리 메모리와 상관없이 프로세스 자신이 전체 메모리를 모두 가진 것처럼 동작한다. (by 가상 메모..
Unreal Engine Dedicated Server
·
Unreal Engine
https://www.youtube.com/watch?v=DrkG3W8a_lshttps://dev.epicgames.com/documentation/ko-kr/unreal-engine/setting-up-dedicated-servers-in-unreal-engine 정보 추가 예정..
Unreal Engine Garbage Collection
·
Unreal Engine
1. 언리얼 엔진에서의 GC 동작 방식overviewUObject의 파생된 오브젝트가 인스턴스화되면, 언리얼 엔진의 GC 시스템에 등록된다.인스턴스화언리얼 엔진의 GC는 30~60초마다 자동으로 더이상 사용되지 않는 객체를 찾아 제거한다.언리얼 GC 시스템영구적으로 존재하는 Root Set를 가지고 있다.reflection을 사용해서 오브젝트의 property를 살펴보고, 참조된 객체에 대해서도 이를 재귀적으로 검사한다.연결된 오브젝트들 중 하나라도 Root Set에 연결되어 있으면, 살아있는 상태로 유지되고Root와 연결되지 않은 경우 해제시키고, 이 오브젝트가 가리키던 모든 포인터를 null로 설정한다.2. Unreal's GC system C++ 코드함수 안에서의 포인터C++에서의 동작과 같음잠시 ..
Unreal Property System (Reflection)
·
Unreal Engine
참고자료https://unrealcommunity.wiki/unreal-property-system-(reflection)-36d1e6 Unreal Property System (Reflection) | Unreal Engine Community WikiBrief description of the Unreal Property System.unrealcommunity.wikihttps://dev.epicgames.com/documentation/ko-kr/unreal-engine/reflection-system-in-unreal-engine 1. Reflection이란reflection은 프로그램이 런타임에 스스로를 검사할 수 있는 능력이다.그러나 C++ 언어 자체는 이러한 기능이 없기 때문에 언리얼이 자..