inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

12강 행동트리 모델의 구현

BT 데코레이터 문제

135

qmal789

작성한 질문수 11

0

안녕하세요. 강의를 완강하고 다시금 따라하며 게임을 제작해보고 있는 한 학생입니다.

강의와 크게 상관은 없지만 질문해봅니다.

화면 캡처 2025-02-03 150541.png.webp

Selector를 통해서 공격범위에 있다면 Attack을 아니라면(inverse) Move to하게 했습니다.

근데 제가 하고 싶은 건 공격범위 안에 들어가는 즉시 공격을 하고 싶은데(CheckAttackRange에서 공격사거리 측정) 지금은 무조건 Target의 위치까지 Move to 한 뒤에 Attack 을 하게 됩니다.

Move to 위에있는 CheckAttakcRange(inverse)에 옵션으로 Observer Aborts을 self로 해봐도 결과는 동일합니다.

 

어떤 이유로 인해 발생하는지 계속 고민해봐도 모르겠어서 질문 드립니다.

unreal-engine ue-blueprint 언리얼-c++

답변 3

0

jin0009130

move to 노드는 Acceptable Radius 라는 AI가 목표 위치 근처에 도착했는지 판단하는 float 변수가 있습니다. 저는 각 몬스터마다 , 각 공격패턴 마다 사거리가 다르다보니 패턴을 정한 후 사거리 값을 가져와서 블랙보드에 사거리 키값을 정하고, move to 노드를 행동트리에서 바로 실행시키지않고 새로운 task 노드를 만들어서 MoveToActor()을 코드로 호출해서 해결했습니다.

0

이득우

음.. 어짜피 강의를 다 들으셨으니, Target과의 거리에 따라 MoveTo와 Attack을 기능을 합친 Task를 하나 만들어보시는것도 좋을 것 같습니다. 기능은 기존 MoveTo 노드 소스를 참고해보시고요.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. qmal789님.

Behavior Tree에서 발생하는 문제에 대해 고민 중이시군요. 게임 AI에서 행동 패턴을 정의하는 데는 세심한 설정이 필요합니다. 현재 상태에서는 설정한 노드가 의도한 대로 작동하지 않는 것 같네요.

여기서 중요한 점은 CheckAttackRange 데코레이터의 동작입니다. Observer Aborts 옵션을 적절히 설정하면 변경된 조건에 따라 실행 중인 작업을 중단할 수 있습니다. 설정을 ‘Both’로 변경해 보시고, 노드의 변화를 더 주시해보는 것도 방법이 될 수 있습니다. 또한, Move To 작업이 완전히 완료되기 전에 조건에 따라 즉시 중단되어야 하므로, 데코레이터가 이를 적절히 반영하게 하는 것이 중요합니다.

추가적으로, 비슷한 문제가 있어서 참고하실만한 게시글을 추천드립니다:
- 비헤이비어 트리에서 Observer Aborts의 활용 - 데코레이터의 설정에 대한 심도 있는 설명을 제공하고 있습니다.

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

무한맵 제작과정중에 GetWorld 가 Nullptr 을 반환합니다.

0

44

2

12강 행동트리에서 질문이 있습니다.

0

51

1

위젯 사이즈랑 위치 질문드려요.

0

81

3

행동트리의 데코레이션 관련하여 질문이 있습니다.

0

93

3

VS 2026 의 문제일까요?

0

484

2

에셋참조 블루프린트질문

0

67

2

애님 몽타주 콤보 관련질문

0

70

2

ThirdPerson CDO 에러가 생깁니다.

0

95

3

캐릭터가 움직이지 않습니다.

0

180

4

쿠킹 폴더 지정시 , Item 이외에는 지정하지 않는지 궁금합니다.

0

62

2

TSoftObjectPtr 를 사용했음에도, 메모리에 로드 됩니다.

0

94

2

7강에 나오는 생성자에 대해서 궁금합니다.

0

78

2

6강을 마무리하며 트레이스 채널 을 이해하지 못했습니다.

0

73

2

3강을 마무리 하며, 카메라가 움직이지 않습니다.

0

70

2

Use Controller Rotation 옵션값이 궁금합니다.

0

83

2

3강 입력 시스템 적용 중, 5.6 버전은 입력 매팅이 2개 입니다.

0

64

2

PlayerController 에 대헤 제가 잘못 이해한 것 같습니다.

0

78

2

13강 UpdateStat 부분에서 문제를 겪고 있습니다.

0

63

2

BP_PlayerController의 CustomEvent노드 이유가 궁금합니다.

0

64

1

콤포넌트 포인터 선언시 TObjectPtr<>과 UStaticMeshComponent* 차이점

0

72

2

CharacterMovementComponent의 RotationRate관련해서 질문이 있습니다.

0

114

2

언리얼 공부방법에 대해 질문드립니다.

0

87

2

4강 에서 이상한 그림자가 남습니다.

0

46

1

2강에서 카메라 회전안되시는분 참고

2

90

2