ted0505
Computational Art & Study
ted0505
전체 방문자
오늘
어제
  • 분류 전체보기 (79)
    • Computer Science ( CS ) (0)
    • Computational Thinking (6)
    • 프로젝트 개발일지 (1)
    • Coding (52)
      • C++ (39)
      • JavaScript (2)
      • P5.JS (7)
      • Python (0)
      • HTML5 (1)
      • CSS (0)
    • Game Engine (18)
      • Unreal Engine 4 (18)
      • Unity (0)
    • Physically Based Rendering (0)
    • FilmMaking (0)
    • 잡다 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ted0505

Computational Art & Study

[ Unreal Engine 4 ] AI / 인공지능 만들기 ( Cast / 형변환 )
Game Engine/Unreal Engine 4

[ Unreal Engine 4 ] AI / 인공지능 만들기 ( Cast / 형변환 )

2021. 10. 20. 18:36

Sensing

언리얼 엔진에서 인공지능을 구현하는 방법 ( 3가지 )

  1. 블루프린트 / 아주 간단함
  2. 비헤이비어 툴 / 많이 사용하는 방법
  3.  C++ 또는 파이썬 프로그래밍 언어

 


< 블루프린트로 인공지능 만들기 >

<어슬렁 돌아다니는 인공지능 >

1. AI 대상이 될 캐릭터 설정

간단하게 만들기 위해, Third Person (기본 캐릭터) 을 복제하여 재질, 크기 변경해서 사용.

 

2. 블루프린트 노드로 원하는 인공지능 구현하기

< 어슬렁 돌아다니기 >

1-1. 대상이 될 캐릭터의 블루프린트를 들어가서, 'AI Move To' 노드로 생성. (저 노드밖에 없음)

AI Move To 노드

1-2. 어느 위치로 랜덤하게 이동 할 건지 알려준다.

Destination 에 Random 값 넣기. / 근원지(나자신)를 설정하고, 어느 반경까지 움직일지.

하지만, 움직일 수 있는 범위를 지정해줘야지만 작동함.

 

1-3. 인공지능이 움직일 수 있는 범위 지정하기

볼륨 -> 네브매쉬바운드볼륨

 


 

< 캐릭터를 발견하면, 쫓아오는 인공지능 >

구현 원리 -
1. 인공지능이 발견 - > 센서로 인식
2. 캐릭터를 향해 걸어가기 - > 인식되었다면, 어떤 행동을 할지 블루프린트로 설정

1-1. 인공지능의 대상이 된 캐릭터에게 센서를 부여하기.

Pawn Sensing 요소 캐릭터에 추가하기

1-2. 인공지능의 센서에 감지(이벤트)되었다면, 어떤 행동을 할지 설정하기.

1-3. 인공지능의 센서에 감지(이벤트)되었다면, 어떤 행동을 할지 설정하기.

알고리즘

 


 

< 완성된 블루프린트 >

하지만, 올바른 알고리즘은 아님. 

왜냐, 시작하면 어슬렁거리는 함수가 반복하여 실행되는데, 특정한 조건이 되면 끊지 않고 다른 함수를 실행함.

즉, 아래쪽 함수가 더 강하다는 것을 뜻함. 충돌 할 수 있어서, 올바르게 고쳐주어야함.

 

< 해결방안 > 

If조건문을 사용하여, 조건에 따라 실행되게 한다.

 

 


 

< 금화를 특정한 액터만 먹게 하기 >

Cast 사용

콜리전 대상 비교하기 - 콜리전 박스에 닿은 애가 Third Person 클래스의 생성된 인스턴스인가? 라면 순차적으로 실행.

 

< Cast 개념 >

Cast 개념

클래스로 만들어진 것을 인스턴스(객체) 라고 한다. cast의 object는 만들어진 인스턴트 중에서 특정한 인스턴스를 가르키는 것이다. 즉, 오브젝트는 클래스의 특정한 인스턴스를 지정하는 것이다.

'Game Engine > Unreal Engine 4' 카테고리의 다른 글

[ Unreal Engine 4 ] 벡터 피펏 위치 변경하기  (0) 2021.11.03
[ Unreal Engine 4 ] 하늘에서 떨어지는 사물들 (배열/Array 사용하기)  (0) 2021.10.20
[ Unreal Engine 4 ] 스공  (0) 2021.10.06
[ Unreal Engine 4 ] 3. Material 기초  (0) 2021.09.24
[ Unreal Engine 4 ] Blueprint 기초  (0) 2021.09.15
    'Game Engine/Unreal Engine 4' 카테고리의 다른 글
    • [ Unreal Engine 4 ] 벡터 피펏 위치 변경하기
    • [ Unreal Engine 4 ] 하늘에서 떨어지는 사물들 (배열/Array 사용하기)
    • [ Unreal Engine 4 ] 스공
    • [ Unreal Engine 4 ] 3. Material 기초
    ted0505
    ted0505

    티스토리툴바