1. UE_LOG(카테고리, 로깅수준, 형식 문자열, 인자...)
- 만일 에디터가 아닌 파일 로그를 직접 확인하고자 한다면, 프로젝트의 Saved 폴더 내에 있는 Logs 폴더로 들어가서 확인
- 로그 수준은 메시지, 경고, 에러 이렇게 세가지로 나뉜다. 각각 흰색, 노란색
2. 프로그래밍에서 어설션은 반드시 확인하고 넘어가야하는 점검 코드를 의미한다.
어셜션 기능이 효과적으로 발휘되려면 디버깅 정보를 파악할 수 있는 디버깅 기호가 엔진에 있어야 한다.
잘 쓰자. 정말 잘~ 써야함
3. 엑터의 수명주기 궁금하지 아니하니?
4. 정보은닉을 위해 UPROPERTY 변수를 private으로 선언하면 컴파일 과정에서 에러가 발생한다. UPROPERT 매크로에
AllowPrivateAccess 라는 META 키워드를 추가하면 에디터에서는 이를 편집함과 동시에 변수 데이터를 은닉할 수 있게 돼
프로그래밍 영역에서 캡슐화 가능
5. UPROPERTY 매크로 구문내의 키워드 값들은 C++ 고유 문법이 아니다. 컴파일을 진행하기 전 언리얼 헤더 툴(Unreal Header Tool)이라는 프로그램으로 분석되는데, 언리얼 헤더 툴은 매크로를 분석한 결과로 generated라는 이름의 추가 코드를 자동으로 생성한다. generated코드까지 묶어서 소스 코드를 컴파일하면 언리얼 실행 환경은 이를 사용해 해당 언리얼 오브젝트를 관리하고 언리얼 에디터에서는 인터페이스에서 해당 값을 편집할 수 있게 인터페이스를 제공한다.
언리얼 헤더 툴이 생성하는 코드는 Source 폴더가 아닌 Intermediate 폴더에 저장된다. 이들은 헤더 파일의 내용이 변경될 때마다 자동 생성돼 기존에 생성된 파일을 덮어쓰므로, 이코드를 열어서 수정하거나 변경하는건 무의미하다.
요약 - 언리얼 헤더툴이 UPROPERTY 등을 분석해서 generated라는 파일에 추가코드를 Intermediate에 생성!
+오...신기방기 당장 열어서 무의미한 행동을 해보자!
6. 언리얼 엔진에서 시간을 관리하는 주체는 월드다. 월드에 TimerManager가 있다. (GetDeltaSeconds() 도 있음)
하...아니? GetRealTimeSeconds() 이런게 있다니..ㅠ
7. 액터에 속한 모든 컴포넌트의 세팅이 완료되면 언리얼 엔진은 액터의 PostInitializeComponents 함수를 호출한다.
8. 이동과 스케일을 위한 정보에 FVector를 사용하지만 회전에는 FRotator를 사용한다. FRotator는 회전 값을 지정하는 데이터이며 차례로
Pitch, Yaw, Roll이라는 세 가지 회전 요소로 구성된다.
9. 트랜스폼 정보가 필수적인 컴포넌트를 씬 컴포넌트라하고, 기능만 제공하는 컴포넌트를 엑터 컴포넌트라 한다.
'Unreal > 득우짱의 언리얼' 카테고리의 다른 글
Chapter5 폰의 제작과 조작 (0) | 2019.01.18 |
---|---|
Chapter4 게임플레이 프레임워크 (0) | 2019.01.16 |
Chapter2 액터의 설계 (0) | 2019.01.07 |
Chapter1 개발 환경 설정 (0) | 2019.01.06 |
이득우의 언리얼 C++ 게임 개발의 정석 구입! 리뷰 ? 다짐 ? (0) | 2019.01.05 |