일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- NRVO
- C++
- DirectX11
- directx
- UnrealEngine4
- Unreal Engine5
- C
- 팰린드롬 만들기
- 프로그래머스
- RootMotion
- UnrealEngine5
- 티스토리챌린지
- winapi
- baekjoon
- algorithm
- 오블완
- Programmers
- Frustum
- UE5
- const
- 2294
- GeeksForGeeks
- 1563
- IFileDialog
- DeferredRendering
- 언리얼엔진5
- 백준
- RVO
- softeer
- 줄 세우기
- Today
- Total
목록UnrealEngine5/이것저것 (51)
Game Develop
언리얼엔진에서는 C++소스코드를 컴파일할 때, 언리얼 헤터툴에서 헤더파일을 분석하여 클래스의 메타정보를 UClass라는 특별한 클래스에 저장한다. 메타정보는 대략 언리얼오브젝트의 계층구조정보와 어떤 속성(멤버 변수) 및 함수들이 있는지를 나타낸다. 이 정보는 런타임시에 특정클래스를 검색하고 그 클래스의 속성이나 멤버함수를 호출하는 데 활용될 수 있다. 자바나 C#에서 활용하는 리플렉션기능을 C++에서 사용할 수 있게 하기 위해 언리얼에서 제공하는 형태라고 볼 수 있다. 컴파일이 완료되고 언리얼에디터를 실행시키면 UObject를 상속받는 언리얼오브젝트의 생성자에서 인스턴스를 생성하는데, 이를 클래스기본객체, 줄여서 CDO(Class Default Object)라고 지칭한다. 이 CDO는 언리얼오브젝트의 기..
헤더파일에 선언. 1. #define CALLINFO (FString(__FUNCTION__) + TEXT("(") + FString::FromInt(__LINE__) + TEXT(")")) -> 사용예시 : UE_LOG(LogTemp, Warning, TEXT("%s"), *CALLINFO); -> LogTemp, Warning은 반복적으로 들어가는 인수이기 때문에 편하게 쓰기위해 2번처럼 더 감싼다. -> 출력된 로그. 괄호안의 숫자는 해당 호출문이 적힌 Line. -> Project_TPS_PHBGameModeBase파일의 9번째줄에서 호출됐다는 의미. 2. #define PRINT_CALLINFO() UE_LOG(TPS, Warning, TEXT("%s"), *CALLINFO) -> 사용예시 : ..
라이트와 메쉬액터에는 모빌리티라는 프로퍼티가 있다. 실시간 라이팅연산을 할것인지 말것인지를 설정하는 프로퍼티이다. 실제 인게임동안 가만히 있는 오브젝트들에 대해서는 라이팅연산을 실시간할필요가 없기 때문에 미리 라이트맵을 구워버리면 자원을 아낄 수 있다. 적용 하려면 메쉬, 라이트액터 둘 다 모빌리티에서 스태틱이나 스테이셔너리로 설정해야한다. 스테이셔너리는 스태틱메쉬의 반사광과 그림자만 라이트매스로 굽고, 나머지 라이팅은 실시간연산이 되는 라이팅이다. 실시간으로 라이팅의 색과 강도정도를 연산할 수 있다. 무버블(Movable)은 실시간연산이다. 당연히 자원소모가 제일 크기 때문에 플레이어캐릭터같은 동적인 액터에 대해서만 적용하는게 좋다.