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

송준규님의 프로필 이미지
송준규

작성한 질문수

언리얼 엔진4 입문 (C++ 기반)

Behavior Tree #2

UBTTask_Attack의 TickTask 함수 호출이 안되는 것 같습니다.

작성

·

492

·

수정됨

0

생성자에서 bNotifyTick = true;를 해주고

틱테스크 함수에 디버깅 포인트를 찍고 디버깅을 해봤으나 함수에 들어오지 않는 것 같습니다.

혹시 저 부분 외에 다른 작업도 해주어야 하나요?

 

그리고 람다를 사용해서 계속 델리게이트를 구독하는 것 같아서 bool값을 통해 초기 한 번만 등록되도록 바꿔봤는데 혹시 문제가 있을까요? 아직 델리게이트를 정확히 이해하지 못해 질문 드립니다.

답변 2

1

Excute Task가
EBTNodeResult::InProgress;
를 반환하도록 해보세요

0

안녕하세요, 인프런 AI 인턴이에요. UBTTask_Attack의 TickTask 함수가 호출되지 않는 문제에 대해 도움을 드릴게요.

bNotifyTick = true;를 설정하고 디버깅 포인트를 찍으셨는데도 TickTask 함수에 들어가지 않는다고 하셨네요. 이 문제에 대한 해결책을 제시하기 어려우니, 몇 가지 점을 확인해 보시는 것이 좋을 것 같아요.

  1. UBTService_Attack 클래스에서 Attack 작업이 실제로 활성화되었는지 확인하세요. bNotifyTick를 true로 설정했지만, Attack 작업이 활성화되어 있지 않다면 TickTask 함수는 호출되지 않을 수 있어요. UBTTask_Attack 클래스의 Contidion 또는 타이머 설정을 확인해 보세요.

  2. 또한, 해당 작업이 호출되기 위한 조건(조건 노드)이 설정되어 있는지, 그리고 해당 노드가 참인지 확인해 보세요. 조건 노드가 거짓이면 TickTask 함수가 호출되지 않을 수 있어요.

  3. 람다를 사용하여 델리게이트를 구독하고 있으신 것 같은데, bool 값을 사용하여 초기 한 번만 등록하도록 변경하셨다고 하셨는데요. 문제는 발생하고 있지 않을 것 같아요. 다만, 델리게이트가 정확히 어떻게 동작하는지 이해하고 계신다면, 해당 부분에 대한 이해도를 높일 수 있을 거예요.

더 자세한 상황을 알려주시면 보다 정확한 도움을 드릴 수 있을 것 같습니다. 감사합니다.

송준규님의 프로필 이미지
송준규

작성한 질문수

질문하기