UAnimationModifier 에서 IAnimationDataModel 를 얻을 때 실체.
177
98 asked
UAnimamtionModifier 에 있는 필수 함수에서 UAnimSequence 를 전달 받습니다.
virtual void OnApply_Implementation(UAnimSequence* Animation) override;
virtual void OnRevert_Implementation(UAnimSequence* Animation) override;
이 함수 안에서
const IAnimationDataModel* Model = Animation->GetDataModel(); 를 하면 데이터 모델 객체를 전달 받는데 이건 인터페이스라서 실체가 무엇인지 알아야 합니다.
두 종류가 있는 것 같습니다.
UAnimationSequencerDataModel
UAnimDataModel
IAnimationDataModel의 실체가 이 둘 중에 무엇인지 어떻게 알 수 있나요???
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
IAnimationDataModel의 구현체가 UAnimationSequencerDataModel 또는 UAnimDataModel 중 어떤 것인지 알아내는 방법에 대해 질문하셨군요. 이 경우, 실제 객체의 타입을 확인하기 위해 C++의 dynamic_cast를 사용할 수 있습니다.
UAnimSequence에서 GetDataModel()을 통해 가져온 IAnimationDataModel 인터페이스 포인터를 가지고 있을 때, 해당 포인터가 실제로 어떤 구현체를 가리키는지는 다음과 같이 dynamic_cast를 사용하여 확인할 수 있습니다.
const IAnimationDataModel* Model = Animation->GetDataModel();
// UAnimationSequencerDataModel로 캐스팅 시도
const UAnimationSequencerDataModel* SequencerModel = dynamic_cast<const UAnimationSequencerDataModel*>(Model);
if (SequencerModel != nullptr) {
// 캐스팅 성공, SequencerModel 사용 가능
}
// UAnimDataModel로 캐스팅 시도
const UAnimDataModel* DataModel = dynamic_cast<const UAnimDataModel*>(Model);
if (DataModel != nullptr) {
// 캐스팅 성공, DataModel 사용 가능
}
만약 Model이 UAnimationSequencerDataModel의 인스턴스라면 SequencerModel에 대한 캐스팅이 성공하여 nullptr이 아닌 값을 가지게 됩니다. 마찬가지로 UAnimDataModel의 인스턴스라면 DataModel에 대한 캐스팅이 성공하겠죠.
이 방법을 통해 IAnimationDataModel 인터페이스의 실제 구현체를 알아낼 수 있습니다. 하지만 주어진 정보에는 이에 대한 구체적인 내용이 없으므로, 위 방법을 기반으로 실제 코드 상황에서 적용해 보시기 바랍니다.
Pawn이 소유하고 있는 이라는 말씀이 잘 이해가 되지 않습니다.
0
63
2
혹시 후속강의 제작 계획은 없으신가요?
0
112
2
RootSet 에 설정이 안되어 있는 경우의 조건문이 다르지 않나요?
0
83
2
KeepRelative 와 KeepWorld 의 설명을 정확히 모르겠습니다.
0
72
2
공부내용 블로그 게시 가능한가요?
0
140
2
레벨 저장시 액터 순서 보장이 안되는 이유?
0
160
2
해당 강의와 Haker님 프레임워크 강의 중 어떤것부터 수강하는게 좋을까요?
0
90
1
강의 자료 질문
0
98
2
수업 자료 index.md 링크
0
93
1
[Rookiss 1월 라이브 강의] TA 지망생을 위한 쉐이더 입문 #1 문의
0
235
2
animation 질문- 하나의 @keyframes로 특정 이벤트없이 한번, hover이벤트시 한번 적용 방법 문의.
0
513
2
꼬리에 키 다삭제해도 맘대로 휘는데 이유가 뭘까요??
1
360
1
진자운동이 다 갈라져요 ㅠㅠ
0
557
1
시즌2는 계획에 없으신가요 ?
0
359
1
색종이 루프 원본 소스파일
0
272
1
브러시툴 클릭하면 하단에 압력과 기울기 창이 안생기네요
0
384
1
밑그림 그릴 때
0
340
2
여러 레이어로 배포된 상태에서 상위 레이어로 묶는 방법이 있을까요?
0
250
1
다른 툴에서 작업한 것을 그대로 불러오는 방법이 있을까요
0
1642
1
애니메이트에는 애프터 이펙트처럼 퍼펫툴 같은거없나요??
0
982
1
페인트통 관련입니다.
0
351
1
브러쉬 질문합니다
0
342
2
혹시 심볼 삭제는 할 수 있나요?
1
1462
2
페인트통으로 왜 색칠이 안 될까요?
0
455
2

