Unreal

[Unreal] 6월 26일 수업정리

k-codestudy 2025. 6. 27. 09:19

AI에 대한 수업을 들었다.

 

캐릭터와 ai 컨트롤러 생성 ( 캐릭터 설정은 알아서 )
캐릭터 설정중 Auto Possess AI를 무조건 Placed Wolrd or Spawned로 설정해주고 AI Controller Class는 controller-AI-enemy로 설정
볼륨 - Nav Mesh Bounds Volume : AI 인식범위
P를 누르게 되면 범위가 보이게 되는데 초록색 부분이 AI가 우리를 인지할수 있는 범위이다.
블랙보드와 비해이비어 트리 생성
블랙보드 - EnemyActor 설정
블랙보드 - HaasLineOfSight 설정
블랙보드 - PatrolLocation 설정
비헤이비어 트리 - 디테일 - 블랙 보드 에셋은 우리가 만든 블랙보드로 설정

  • Selector : 묶음집 ( 성공적으로 실행할 수 있는 서브트리르 찾으면 이동을 멈춤 )
  • Sequence : 흐름 ( 실패하는 노드에 도달할 때까지 자손을 계속해서 실행 )

Root에서 AI Root ( Selector) 를 연결 ( 이게 루트 ) -> 시퀀스 Chase player, Patrol 연결

  • Wait : 기본적으로 AI의 경우 실시간 반영을 하기에 Wait를 하지 않으면 실패 시 계속 돌게 되는 문제를 발생 하여 랙을 유발 ( 무조건 디폴트로 맨 마지막 우측에는 존재 해야함 )

상단 좌측 - 새 테스크 - BTT_ChasePlayer, BTT_FindRandomPatrol 생성
원하는 바 연결해 주고 Patrol에 연결된 Move to의 경우 BlackBoard Key를 PatrolLocation으로 변경
전체적인 비헤이비어 트리 모습
[bp-enemy] e-Max Walk Speed (입력 : 플로트, Max Walk Speed ) -> 캐릭터 무브먼트에서 Set Max Walk Speed 호출 후 연결
[BTT_ChasePlayer] excute AI - bp-Enemy 형변환 - e-maxWalkSpeed 연결 ( max Walk Speed 변수 승격, 인스턴스 편집 On )-> 성공 시 Finish Execute On, 실패 시 Off
인스턴스 편집을 키게 되면 비헤이비어 트리에서 수치 조절 가능
[BTT_FindRandomPatrol] excute AI - bp-enemy 형변환 - e-MaxWalkSpeed (변수 승격 : PatrolSpeed, 인스턴스 편집 On) - Select Vector A : GetRandomReachablePointInRadius 의 백터 값, B : Get Actor Location의 백터 값 -> Set BlackBoard Value as Vector에 연결 (Key는 변수 승격 ) -> Finish Execute (On) / 형변환 실패시 FinishExecute (Off)

 

'Unreal' 카테고리의 다른 글

[Unreal] 6월 30일 수업정리  (0) 2025.06.30
[Unreal] 6월 27일 수업정리  (0) 2025.06.28
[Unreal] 6월 25일 수업정리  (0) 2025.06.25
[Unreal] 6월 24일 수업정리  (0) 2025.06.24
[Unreal] 6월 23일 수업정리  (0) 2025.06.23