현재 적은 시각적 트리거를 이용 추적한다. 이제 청각적 트리거를 이용 보이지 않는 적도 추격가능하게 한다. 청각적 능력을 추가하기 위해 폰감지 컴포넌트를 추가할 것이다.
이부분은 열심히 해봤는데 잘안되었다. ㅠㅠ 추후 디버깅해보도록 하겠습니다.
비헤이비어 트리에 청력 추가
적캐릭터가 청각적 능력을 사용하게 하려면 블랙보드 안에 2개의 키를 만들어야 한다.
- HasHeardSound : Bool, 소리가 났는지 여부
- LocationOfSound : Vector, 소리가 난 위치
1. 콘텐트드로워 Enemy폴더의 BT_EnemyBehavior에셋을 두 번 클릭해서 비헤이비어 트리 에디터를 연다.
2. 블랙보드 탭을 클릭한다.
3, 새키 버튼을 클릭하고 Bool타입을 선택한다. 이름은 HasHeardSound로 지정한다.
4. 벡터타입의 새키를 만들고 이름을 LocationOfSound로 변경한다
5. 블랙보드를 저장하고 비헤이비어 트리탭을 클릭한다.
6. Attack Player시퀀스와 MoveToPatrol노드를 벌려 Sequence노드를 추가하고 이름을InvetigateSound로 바꾼다.
7. InvetigateSounds노드를 우클릭후 Add Decorator>Blackboard를 선택후 디테일에서 다음같이 설정한다.
- Observer aborts : Low Priority
- Blackboard Key : HasHeardSound
- Node Name: HasSound?
8. 데코레이션의 노드 이름을 HeardSound?로 변경한다.
조사 태스크 세팅
InvestigatedSound Sequnce노드에 MoveTo,Wait,BBTask_ClearBBValue 3개의 노드를 추가한다.
MoveTo의 Blackboard Key는 LocationOfSound (좀전 Tree에서 추가한 키)
Wait는 3초,
BTTask_ClearBBValue는 이름을 ResetHeardSound로 바꾼다 . 키는 HasHeardSound로 변경한다. 이 노드는 지정된 키를 클리어 해준다.
전체
블랙보드를 업데이트하기 위한 변수및 매크로 만들기
BP_EnemyController블루프린트에 변수와 매크로를 만들어 사운드 관련 BB_EnemyBlackboard의 키를 업데이트한다.
1. BP_EnemyController를 연다.
2. 변수+를 클릭 이름 HearingDistance 타입 플로트 컴파일후 기본값을 1600으로한다.
3. 변수+를 클릭 이름 HasHeardSoundKey로 하고 타입을 네임 컴파일후 기본값을 HasHeardSound로 한다.
4. LocationOfSoundKey라는 다른 네임 변수를 만든다 컴파일후 기본값을 LocationOfSound로 세팅한다.
5. 내 블루프린트 패널에서 매크로 카테고리의 + 버튼을 클릭해 매크로를 생성하고 이름을 UpdateSoundBB로 한다.
6. 매크로의 디테일 패널에서 실행타입의 In 벡터타입의 Location 입력파라미터 실행타입의 출력 파라미터를 만든다.
7. 빈곳을 우클릭후 Get Blackboard를 추가하고 다른 노드들도 추가한다. 매크로는 Location입력을 받아 블랙보드의 LocationOfSound 키를 설정하고 HasHeardSound 키도 True로 설정한다.
컴파일후 저장한다.
'블루프린팅 > 10. AI적' 카테고리의 다른 글
[10.AI적업그레이드] 노이즈 이벤트 데이터 해석및 저장 (0) | 2023.06.09 |
---|---|
[10.AI적] 블랙보드를 업데이트하기 위한 변수 및 매크로 만들기 (0) | 2023.06.09 |
[10.AI적업그레이드] 체력미터 업그레이드 - Damage처리 (0) | 2023.06.09 |
비헤이비어 트리에서 Attack 태스크 사용 (0) | 2023.06.08 |
[10.AI적] AI적 공격만들기 (0) | 2023.06.08 |