언리얼얼 Tips

 

1. 엔진에서 파일 > 새 c++ 클래스.. 로 파일 추가한 다음 경로 변경을 적용하려면

   vs 닫고 unreal engine project 파일에서 우클릭 후 Generate Visual Studio project files..를 한다음에 다시 열기.

   vs 빌드 후 에디터를 켜면 파일 경로 변경이 적용됨.

   .vs, Binaries, Intermediate, Saved, .sin 파일도 삭제를 해야 generate 시에 변경된 내용이 적용됨.

   (.sin파일, vcsproj.filters 와 vcxproj.user 파일들은 버전관리 대상이 될 필요가 없다는 것)

 

2. 헤더를 깜박하고 include 하지 않으면 여러가지 문제가 생김..휴우..

 

3. .h 에서는 클래스 전방선언 해줄 것.

 

4. 위젯 생성 시 부모 클래스 등록해주고 MainWidget 에 컨텐츠 추가시엔 선 에디터 추가 후 코드 작성하기.

   경험이 없다보니 이유를 몰라서 한참을 헤메는 일이 생김..

 

5. 위젯 블루프린트 구성하고 코드에 연결 시 변수명 체크 잘 할 것. InstanceName.

 

6. 위젯 컴포넌트 함수 딜리게이트할때 UFUNCTION() 선언 해줄것.

 

7. IsValid는 포인터를 검사할 뿐만 아니라 엔진의 관리를 받는 오브젝트가 GC의 삭제를 기다리는게 아닌지도 검사한다.

 

8. TSubclassOf<T> 는 UClass의 안정성을 보장해주기 때문에(블루프린트로 클래스 선택시에 <T>와 상속 클래스만 보임) 사용하지만..때론 직접 속성에 접근해야 할 경우가 생긴다. 

  Class.GetDefaultObject()->GetSomething() 로 접근 가능하다.

 

9. 결국 T* 로 사용해야 할 경우엔 T* pClass = Class.GetDefaultObject() 로 받아서 사용할 것.

 

10. 블루프린트로 데이터 변경이 필요한 것들은 프로퍼티에서 꼭 가능하게 해주기.

 

11. 바인딩(함수 포인터)이 필요한 경우와 딜리게이트를 해야하는 경우 구분하기.

 

12. 바인딩 하다가 생긴 오류로 인해 3일을 개고생..전혀 생각지 못한 곳에서 오류날 수 있음을 기억하기..

 

13. 문제가 풀리지 않을땐 하나씩 지워가면서 문제를 찾자.

14. struct 생성시 의도치않게 순서가 어긋날 수 있다.

 

15. Path를 상대적인 경로가 아닌, 절대경로(Source/프로젝트이름) 내부에서 찾게 될 경우, Absolute Path를 적용할 수 있다.

   게임 프로젝트 오른쪽 클릭 -> 속성 -> VC++ 디렉터리 -> 포함 디렉터리

<부모 또는 프로젝트 기본값에서 상속> 클릭 후 다시 메뉴에서 편집 클릭 > 버튼 클릭 후 폴더 설정.

  폴더는 프로젝트/Source/프로젝트이름

 

16. (15번) 방식은 generate..하면 매번 재입력 해야해서 다른 방식으로 설정.

  Build.cs 열어서 PrivateIncludePaths.Add(ModuleDirectory); PublicIncludePaths.Add(ModuleDirectory); 추가하기.

 

17. DataAsset 은 다양한 프로퍼티(클래스/구조체/배열등)들을 저장할 수 있고 재사용하거나 확장하기 편함. 간단한 기능은 에이터 기능 확장해서 커스텀 UI 추가하는 대신 DataAsset 으로 해결 가능.

DataTable 은 행/열 표로 입력이 되기에 엑셀로 편집하고 csv 임포트/익스포트하기 편함.

 

18. 함수 바인딩 구분하기.

      AddUObject : UObject의 멤버 함수를 바인딩 할 경우(함수 포인터를 인자로 넘김)

        delegate.AddUObject( this, &Uobj::Function );

      AddLambda : 람다 함수를 바인딩 할 경우.

      AddUFunction : UFunction으로 선언된 함수를 바인딩 할 경우.(함수 이름을 인자로 넘김)

        delegate.AddUFunction( this, FName("Function") );

 

19. 

'::protected > 언리얼4&5' 카테고리의 다른 글

Niagara..  (0) 2023.06.27
메모리 관리  (0) 2022.12.26
데이터 사용하기.  (0) 2022.06.21
AI  (0) 2020.11.18
위젯 애니메이션 만들기.  (0) 2020.01.09

+ Recent posts