전체 글
언리얼 C++ 기본 타입과 문자열
Bool 언리얼에서 bool은 크기가 명확하지 않은 타입이다. 따라서 이를 확실하게 하며 데이터를 줄이기 위해 uint8을 사용한다. 여기에서 더 작은 크기를 사용하기 위해 Bit Field를 사용해서 1비트로 데이터를 제한할 수 있다. UPROPERTY() uint8 bNetTemporary:1; 단순히 Bool을 써도 되지만 굳이 이렇게 하는 이유는 언리얼 오브젝트의 프로퍼티를 데이터 통신 및 시리얼라이제이션 등에 사용 시 명확한 크기를 지정하기 위함이다. 그렇기에 비트필드는 UPROPERTY에 대해서만 사용한다. UPROPERTY가 아닌 경우에는 크기를 명확히 지정할 필요가 없기에, 비트필드가 아닌 bool을 사용하면 됩니다. 이 경우는 보통 하던 대로 헤더에서 초기화해 줄 수 있다. UPROPER..
협업을 위해 알아보는 인코딩
말머리 올해 초 Git을 통해 협업을 하던 시절 한글과 관련된 하나의 문제가 있었다. A : 주석에 한글이 꺠져서 왔는데? 나 : 나는 잘 보이는데..? --A가 Push한 후-- 나 : 보이지도 않고 복구도 안되네? 이때는 프로그램 개발이 바빠서 탐구할 시간이 없었는데 이번에 공부를 하면서 인코딩의 중요성을 깨달아 쓰게 되었다. (제목에 협업이 들어간 이유는... 어그로 일지도..?) 인코딩의 과거부터 현재까지 시간 순으로 쉽고 간단하게 작성하였습니다. 인코딩이란? : 문자 인코딩은 문자들의 집합을 부호화하는 방법이다. C를 해본 사람들은 알겠지만 프로그램에서 char가 가지는 값은 int와 다름이 없다. 이를 우리가 사용하는 문자로 보이게 하기 위해서 사용하는 것이 바로 인코딩이다. 1963년 미국 ..
언리얼 엔진 코딩 표준
Unreal Engine 5.3 Documentation > 코딩 표준 을 참고하여 C++를 익히고 있다는 가정하에 중요한 것만 작성되었습니다. 기본적인 코딩 규칙 public에서 private로 이어지는 클래스 체계(Organization)을 준수 : 제일 많이 보는 public을 윗쪽에 private를 아래쪽에 작성하자 언리얼 변수의 명명 규칙 ●파스칼 케이싱(Pascal Casing) : 합성어의 첫 글자를 대문자를 사용해 명명 ● 모든 클래스와 구조체에는 고유한 접두사들이 있다. 템플릿 클래스에는 접두사 T를 포함합니다. UObject에서 상속받는 클래스에는 접두사 U를 포함합니다. 모든 오브젝트는 UObject를 상속한다. AActor에서 상속받는 클래스에는 접두사 A를 포함합니다. UObjec..