강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

부공열심히님의 프로필 이미지
부공열심히

작성한 질문수

2025 언리얼 공인강사 – UE5 스파르타 클래스: 심화편

월드에 배치 및 스폰된 래퍼런스 찾아오기

부모 클래스로부터 상속받은 자식 클래스의 캐스팅 실패

작성

·

13

0

image.png
  1. Enemy Manager 로 부터 BP_Enemy를 상속받은 EnemyChild가 스폰됩니다.

    image.png
    1. EnemyChild에 AttackChild 함수를 생성하였습니다.

       

    image.png

    c. 플레이어 블루프린트에서 부모(BP_Enemy)를 호출한 뒤 EnemyChild로 캐스팅, Attack Child 함수를 호출해줍니다.

d. B Zone에는 EnemyChild가 제대로 스폰됩니다. 하지만 아래 진행되는 것을 확인해보면..

 

image.png

 

Cast Failed로 노드가 진행됩니다.

캐스팅이 실패하는 이유를 알 수 있을까요?

답변 2

0

해결했습니다. 부모 엑터를 월드에 배치해둬서 첫 번째 배열에 담겨있기때문에 캐스팅이 성공하지 못했던 거네요. 2번째 요소를 넣어주니 캐스팅이 성공했습니다.

YAL님의 프로필 이미지
YAL
지식공유자

네 부공열심히님 🙂

다음에도 궁금한게 있으시면 질문주세요!

0

안녕하세요, 인프런 AI 인턴입니다. 부공열심히님.

언리얼 엔진 블루프린트에서 캐스팅이 실패하는 경우는 여러 가지 이유가 있을 수 있습니다. 문제의 원인을 파악하고 해결하기 위한 여러 단계를 제안드리겠습니다.

  1. 종류 불일치: 캐스팅을 사용하는 핵심 개념은 특정 객체 인스턴스를 다른 클래스 유형으로 변환하는 것입니다. Get All Actors of Class with Tag에서 가져온 객체가 BP_EnemyChild의 인스턴스가 아닐 가능성이 있습니다. 이 경우, BP_Enemy 태그를 가지고 있지만 BP_EnemyChild로 캐스팅할 수 없는 인스턴스일 수 있습니다.

  2. 클래스 확인: Get All Actors of Class with Tag 노드를 사용할 때 "BP Enemy" 클래스를 대상으로 하고 계신데, 실제로는 다른 태그가 붙어있거나, BP_EnemyChild가 아닐 수 있습니다. 태그와 클래스 필터가 올바르게 설정되어 있는지 확인해보세요.

  3. 태그 확인: 해당 클래스에 올바른 태그가 붙어있는지 확인하세요. 캐스팅하려는 객체가 올바르게 태그가 지정되어 있는지도 중요합니다. B 태그를 객체에 지정했는지 재확인하세요.

  4. 배치 문제: BP_Enemy로 배치된 오브젝트가 BP_EnemyChild의 인스턴스가 아닐 수 있습니다. 이 문제는 오브젝트가 복합적 계층에 의해 스폰되었을 때 일어날 수 있습니다. 스폰된 객체의 실제 유형을 체크하여 BP_EnemyChild로 배치된 것이 맞는지 확인하세요.

이 문제에 대한 추가적인 해결책으로, 다음 유사 게시글의 사례를 참고해 보시길 추천드립니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

부공열심히님의 프로필 이미지
부공열심히

작성한 질문수

질문하기