애니메이션 몽타주를 사용해보면서 언리얼 엔진에서 이것을 관리하는 방식이 독특하다는 생각이 들었다.
우선 애니메이션 몽타주가 있다.
다른 Skeletal Mesh, 블루프린트 에셋처럼 생성자에서 FObjectFinder를 통해 에셋을 가져온다.
그런데 실행은 왜 이 형식이 아니라
AttackMontage->Montage_IsPlaying()
AttackMontage->Montage_Play()
아래와 같은 형식일까?
이런 함수 호출이 의미하는 건 애니메이션 몽타주를 각각 하나의 인스턴스로 관리하는 것이 아니라 엔진단에서 한꺼번에 관리한다는 걸까?
또 특이한 점은 다른 에셋들처럼 생성자에서 에셋을 불러들인다고 사용할 수 있는 것이 아니다.
애님 인스턴스를 부모로 하는 애니메이션 블루프린트의 애님 그래프 어딘가에 해당 몽타주에서 만든 슬롯이 존재해야 한다는 것이다.
이것도 나중에 언리얼의 내부 구조나 설계 방식에 대해 잘 알고 있는 사람이 있으면 물어봐야겠다.
'Unreal Engine > 고찰' 카테고리의 다른 글
UObject* WorldContextObject (0) | 2023.03.19 |
---|---|
OnDestroyed 델리게이트 (0) | 2023.03.17 |
골 때리는 MakeFromX() (0) | 2023.03.05 |
[작성중] 인터페이스 함수는 캐스팅 없이 사용할 수 있다. (0) | 2023.02.16 |
노드 선이 끊기면 실행 흐름도 끊긴다? (0) | 2023.02.16 |