실전 게임 제작으로 배우는 언리얼 엔진 4 | 미나토 카즈히사 - 교보문고
실전 게임 제작으로 배우는 언리얼 엔진 4 | 미나토 카즈히사 - 교보문고
실전 게임 제작으로 배우는 언리얼 엔진 4 | [실전 게임 제작으로 배우는 언리얼 엔진 4]은 언리얼 엔진 4를 처음 시작하는 개발자를 위해 기획되었다. 실제 게임이 제작되는 순서에 맞게 챕터를
product.kyobobook.co.kr
2025.02.05 - [언리얼 엔진/실습 PJT] - 책 따라하기 15 - 배열, 내비게이션
책 따라하기 15 - 배열, 내비게이션
실전 게임 제작으로 배우는 언리얼 엔진 4 | 미나토 카즈히사 - 교보문고 실전 게임 제작으로 배우는 언리얼 엔진 4 | 미나토 카즈히사 - 교보문고실전 게임 제작으로 배우는 언리얼 엔진 4 | [실
violetookamiscythe.tistory.com
목차
1. 비헤이비어 트리 생성
2. 사용자 정의 작업
3. 블랙보드
4. 패트롤 마무리
5. 클래스 블루프린트와 블랙보드
6. 추적
7. 서비스
8. 시간 제한
9. 커스텀 데코레이터
10. 스프린트 시작 및 완료
11. 가상 근접공격
1. 비헤이비어 트리 생성
적 캐릭터 AI 컨트롤러의 블루프린트에서 Go To Patrol 제거 후 Run Behavior Tree 생성, 할당 후 컴파일
2. 사용자 정의 작업
비헤이비어 트리 에디터에서 새 태스크 생성
생성한 작업 블루프린트를 열고, 이벤트 그래프에서 Receive Execute AI 생성
AI MoveTo 생성 후 연결
생성된 이벤트의 Owner Controller 핀으로부터 컨트롤러에 형변환 노드 설치 후 순수형 변환
이전에 생성한 타겟 위치 가져오는 노드 생성
형변환 노드의 On Success 핀으로부터 Pop Patrol Location, Finish Execute 생성
이동이 실패했을 경우도 있으므로 On Fail 핀 또한 Finish Execute 생성
컴파일
비헤이비어 트리에서 방금 만든 태스크 배치
3. 블랙보드
블랙보드 생성
비헤이비어 트리의 디테일에서 블랙보드 애셋 연결
블랙보드 에디터에서 벡터 변수 추가
플로트 변수도 하나 추가
AI 컨트롤러 블루프린트에서 Run Behavior Tree 이전에 Use Blackboard 노드 배치, 할당 후 컴파일
블랙보드 사용
비헤이비어 트리의 새로 만든 태스크를 더블클릭하여 에디터를 연 후, Blackboard key Selector 유형의 변수 생성
편집 가능으로 변경
이벤트 그래프에서 AI MoveTo를 포함 모두 지우고 해당 위치에 Set Blackboard Value as Vector 생성
생성한 블랙보드 키 선택형 변수를 Get 형태로 배치 후 모든 핀 연결
Set Blackboard Value as Vector 노드로부터 Finish Execute 배치 및 Success 체크 후 컴파일
비헤이비어 트리의 Get Patrol Location 노드와 Wait 사이에 MoveTo 노드 생성
디테일 패널의 블랙보드 키에서 위치 키 선택
4. 패트롤 마무리
비헤이비어 트리에서 새 태스크 생성 및 네트워크 구성
비헤이비어 트리의 가장 왼쪽에 방금 만든 태스크 블루프린트 배치
5. 클래스 블루프린트와 블랙보드
적 캐릭터 블루프린트에서 플로트 변수 추가 후 편집 가능, 스폰시 노출 설정
AI 컨트롤러 블루프린트의 이벤트 그래프에서 Get Blackboard 배치
출력핀으로부터 Set Value as Float 배치
Key Nmae 핀으로부터 Make Literal Name 노드 생성
적 캐릭터로의 형변환 노드로부터 Get Patrol Wait Duraion 노드 생성 후 연결
컴파일
비헤이비어 트리에서 기존의 Wait 대신 Wait BlaxkBoard Time 생성
6. 추적
비헤이비어 트리의 루트에서 기존 시퀀스 대신 셀렉터 생성
끊어진 기존 시퀀스 노드는 셀렉터와 연결
기존 시퀀스 노드의 왼쪽에 새 시퀀스 노드 생성
블랙보드 에디터에서 오브젝트 키 생성
디테일에서 베이스 클래스를 Actor로 변경
비헤이비어 트리에서 시퀀스 노드를 우클릭한 후 데코레이터 추가 > Blackboard 선택
디테일에서 블랙보드 키를 생성한 액터 키로 변경
관찰자 중단을 Lower Priority로 설정
시퀀스 노드의 출력으로부터 Move To 생성
7. 서비스
비헤이비어 에디터에서 새 서비스 클릭
블랙보드 키 선택자 형태의 변수 생성 및 편집 가능 체크
이벤트 그래프에 Event ReceiveTickAi 노드 생성 및 플레이어 캐릭터 확인 및 위치 공유 노드 네트워크 생성 후 컴파일
서비스를 비헤이비어 트리에 추가하기 위해 패트롤 시퀀스 노드를 우클릭하고 서비스 추가 > 방금 생성한 서비스를 클릭한다.
디테일이 디폴드에서 블랙보드 키 선택자 변수 선택
8. 시간 제한
시퀀스 노드를 우클릭하고 데코레이터 추가 > Time Limit을 선택한다.
9. 커스텀 데코레이터
새 데코레이터 생성
디테일의 플로우 컨트롤 > 관찰자 중단을 Self로 설정
내 블루프린트에서 백터 유형의 변수(추적 전 위치 기록) 생성
추적을 시작할 때 위치를 기록하는 노드 네트워크 구성
함수 카테고리의 오버라이드에서 Perform Condition Cehck AI 선택
거리를 판단하여 상태를 변환하도록 함수 재정의 및 컴파일
비헤이비어 트리에서 추적 시퀀스 노드에 생성한 거리 제한 데코레이터 추가
10. 스프린트 시작 및 종료
스프린트를 시작하는 새 태스크를 생성하고 노드 네트워크를 구성한다.
비헤이비어 트리에서 추적 시퀀스 아래에 Wait 노드와 Begin Sprint 노드를 추가한다.
추적이 종료되었을 때 스프린트를 종료하기 위한 태스크를 생성하고 노드 네트워크를 구성한다.
비헤이비어 트리에서 셀렉터 노드 아래 기존 노드 사이에 시퀀스 노드를 추가한다.
새로 만든 태스크와 Wait 태스크를 새 시퀀스 밑에 연결한다.
11. 가상 근접 공격
적 캐릭터 블루프린트의 이벤트 그래프에서 Event Tick으로부터 라인 트레이스를 추가한다.
50 만큼의 짧은 거리를 부여하여 정확히 도달하였음에도 불구하고 충돌박스가 닿지 않아 죽지않는 버그를 해결하기 위함이다.
닿는 플레이어 캐릭터 액터에게 100의 데미지를 부여하는 것으로 마무리한다.
2025.02.08 - [언리얼 엔진/실습 PJT] - 책 따라하기 17 - 애니메이션
책 따라하기 17 - 애니메이션
실전 게임 제작으로 배우는 언리얼 엔진 4 | 미나토 카즈히사 - 교보문고 실전 게임 제작으로 배우는 언리얼 엔진 4 | 미나토 카즈히사 - 교보문고실전 게임 제작으로 배우는 언리얼 엔진 4 | [실
violetookamiscythe.tistory.com
'언리얼 엔진 > 실습 PJT' 카테고리의 다른 글
책 따라하기 18 - 머터리얼 (0) | 2025.02.10 |
---|---|
책 따라하기 17 - 애니메이션 (0) | 2025.02.08 |
책 따라하기 15 - 배열, 내비게이션 (0) | 2025.02.05 |
책 따라하기 14 - 콜리전 (0) | 2025.02.03 |
책 따라하기 13 - 물리 엔진 (1) | 2025.02.01 |