'AI Controller'에 해당되는 글 1건

  1. 2017.12.23 AI Character Control example
AI Controller2017. 12. 23. 01:46

목표 : 계단위에 서 있던 AI Character가 키보드에서 F 키를 누르면 계단을 자연스럽게 내려가서 특정 위치에서 멈춘다


1. 공백 프로젝트를 생성한다

2. 컨텐츠 브라우저에서 [신규 추가] > [피쳐 또는 컨텐츠 팩추가] > 3인칭 선택 > 프로젝트에 추가

3. 컨텐츠 브라우저에 새로 추가된 폴더에서 ThirdPersonCharacter 를 찾아 마우스 우측 > 복제 > 이름을 BP_AICharacter 으로한다

4. 새로 복제된 BP_AICharacter 를 드래그하여 원하는 폴더 안에 이동한다

5. 계단을 자연스럽게 이동할 수 있는 기능은 AI에 포함되어 있으므로 AIController 를 상속한 클래스 블루프린트를 생성하여 제어하여야 한다. AIController 를 기반으로 BP_AICharacter 를 생성한다

6. BP_AICharacter 에서 AI Controller Class 항목에 BP_AIController 를 지정한다


7. BP_AIController를 열고 툴바에서 [클래스 디폴트]를 선택하고 [디테일] 뷰 / Input / Auto Receive Input 항목에 Player0를 선택한다

8. 언리얼 에디터 뷰포트에  TargetPoint를 드래그하여 설정한다. AICharacter가 이동할 목표점으로 삼으려고 한다

9. BP_AIController의 이벤트 그래프에 다음의 내용을 입력한다


위의 그래프에서 Get All Actors of Class 노드에는 Target Point를 설정한다


10. 뷰포트에 굽은 계단을 드래그하여 놓고 계단 꼭대기에 BP_AICharacter를 드래그하여 놓는다

11. 뷰포트 플로어 전체와 계단 상부를 덮을 수 있도록 Nav Mesh Bounds Volumn를 드래그하여 설정한다. 이때 P키를 누르면 AI가 이동할 수 있는 영역은 초록색으로 표시되므로 AI가 작동하는 영역을 쉽게 알 수 있다



Nav Mesh Bounds Volumn은 다음과 같이 선택하여 드래그할 수 있다


Posted by cwisky