전체 글 269

언리얼엔진 강좌 58 [조명탄 - 01] 조명탄의 움직임 만들기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 소스코드: github.com/easyprogstudy/unreal_flare 언리얼 엔진 강의 58번째 시간으로 댓글로 요청하신 조명탄을 만드는 법을 설명합니다. 총 2개로 나누어 블루프린트로 조명탄을 만드는데, 이번에는 조명탄의 움직임을 만들어 봅니다. 조명탄의 움직임은 처음엔 위로 올라가다가 고점에서 작은 폭발이 일어나고 이후 아주 천천히 자유낙하하는 걸로 했습니다. 1. 블루프린트로 총을 만들어 Fire 함수를 만들고, Fire 함수가 호출되면 조명탄을 spawn합니다. 2. 조명탄은 Projectile Movement 컴포넌트를 가지고 있어 spawn 되자마자 바로 포물선을 그리며 날아갑니다. 3. 조명탄은 spawn 되고 1초 후에(포물선을 그리며 날..

언리얼엔진 강좌 57 C++로 blueprint용 함수 노드 만들기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 57번째 시간으로 C++을 이용해 블루프린트용 함수를 만들어 보겠습니다. 물론 블루프린트로도 훌륭한 프로그램을 만들 수 있지만, C++이 가능한 개발자라면 좀더 유연하게 개발 폭을 넓혀볼 수 있습니다. 그리고 이런 방식이 개발자는 C++로 함수를 만들고 디자이너는 블루프린트로 그 함수들을 이용하며 좀더 쉽게 협업할 수 있습니다. unreal에서 visual studio 2019를 이용해 C++ 클래스 만드는 방법과 기본적으로 UE_LOG 함수를 이용하면 한글이 깨져나오는데 한글을 제대로 표현하는 방법도 설명합니다. 언리얼 엔진 버전: 4.24.3

언리얼엔진 강좌 56 [인공지능-17] Perception 06 - 시각센서06 - actor의 태그를 이용해 플레이어인지 구분하기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 56번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 17번째 시간으로 몹을 하나 더 추가해 봅니다. 그럼 몹끼리 서로 공격하고 쫒아다니는걸 볼 수 있는데, 그 이유는 시각 센서로 감지된 오브젝트가 플레이어인지 같은 몹인지 구분하지 않았기 때문입니다. 그래서 플레이어에 태그를 하나 달아놓고 ActorHasTag라는 함수를 이용해 태그로 판단해서 플레이어인 경우에만 쫒아가도록 하였습니다. 언리얼 엔진에서 C++로 개발하는 경우에는 Detection by Affiliation에 Detect Enemies, Detect Neutrals, Detect Friendies 등을 설정해 태그를 이용하지 않아도 되지만, 현재 버전의 블루프린트..

언리얼엔진 강좌 55 [인공지능-16] Perception 05 - 시각센서05 - 순찰하다가 적을 발견하면 순찰을 중단하고 쫓아가기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 55번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 16번째 시간으로 몹이 순찰을 하다 적군을 발견하면 순찰을 즉시 중단하고 적을 쫓아가도록 만들어 봅니다. level에 2개의 target point를 놓아두고 그 2개의 target point를 몹의 블루프린트 클래스에 알려주면 알아서 2점 사이를 계속 왔다갔다 순찰하도록 했습니다. 기존 비헤이비어 트리에 순찰이라는 노드를 추가해 기본적으로 2점 사이를 순찰하도록 하고 만약 적을 발견하면 그 즉시 순찰을 종료하고 적을 쫓아가도록 했보았습니다. 언리얼 엔진 버전: 4.24.3

언리얼엔진 강좌 54 [인공지능-15] Perception 04 - 시각센서04 - 시야에 들어오면 쫒아가기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 54번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 15번째 시간으로 몹이 시각센서로 적을 발견하면 쫓아가도록 만듭니다. 기존 비헤이비어 트리에 moveto 태스크 하나를 추가합니다. 현재 플레이어의 위치를 블랙보드에 적어주고 그 블랙보드의 값을 서비스를 이용해 moveto에 전달해 줘서 계속 플레이어를 쫓아가도록 만들어 봅니다. 언리얼 엔진 버전: 4.24.3

언리얼엔진 강좌 53 [인공지능-14] Perception 03 - 시각센서03 - 시야에 들어오면 공격모드로 바꾸기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 53번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 14번째 시간으로 몹이 시각센서로 적을 발견하면 공격모드로 바꿔 봅니다 . 공격모드로 바뀌었다는 걸 확인하기 위해 칼을 꺼내 들도록 해보겠습니다. 언리얼 엔진 버전: 4.24.3

언리얼엔진 강좌 52 [인공지능-13] Perception 02 - 시각센서02 - 들어온건지 나간건지 판단하기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 52번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 13번째 시간으로 시각센서에서 무언가 변경사항이 발생해 OnPerceptionUpdated 이벤트가 발생한 경우 이게 시각 안으로 들어와서 이벤트가 발생한 건지 시각 밖으로 나가서 이벤트가 발생한 건지 판단하는 함수를 만듭니다. 언리얼 엔진 버전: 4.24.3

언리얼엔진 강좌 51 [인공지능-12] Perception 01 - 시각센서01 - 시각센서 설명

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 51번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 12번째 시간으로 Perception(지각)에 대해 설명하고 Perception의 한 요소인 시각센서에 대해 설명합니다. 시각센서는 일정 거리 안으로 어떤 물체가 들어오면 쫓아가거나 공격하거나 말을 하거나 하는 등의 일을 하기 위해 물체의 접근을 감지하는 역할을 합니다. 시각센서에서 감지한 물체는 보통 태그를 이용해 이 물체가 어떤 성질을 가졌는지, 적인지 아군인지, 같은 몹인지, 플레이어인지 등을 판단해 공격하거나 그냥 무시하거나 합니다. 보통 GTA같은 게임에서 가만히 서 있던 적이 일정 거리 안에 플레이어가 보이면 공격할 때, 이런 시각센서가 동작해서 적을 감지하고 있는..

언리얼엔진 강좌 50 [인공지능-11] Behavior Tree 07 - Decorator

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 50번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 11번째 시간으로 Behavior Tree에서 사용하는 Decorator(데코레이터)에 대해 설명합니다. 설계 개념에서 decorator는 원래 어떤 기능을 하던 모듈은 고치지 않고 그대로 둔 채로 그 모듈을 감싸서 어떤 기능을 추가하는 것을 말합니다. 언리얼 엔진에서의 decorator도 같은 개념인데, Decorator는 Behavior Tree에서 각 task에 붙어서 task가 할 일을 더 추가해 주는 일을 합니다. 그리고 decorator가 task에 붙지만 composite에도 붙습니다. 언리얼 엔진에서 decorator는 주로 이 노드(task나 compositr..

언리얼엔진 강좌 49 [인공지능-10] Behavior Tree 06 - Service

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 49번째 시간, 언리얼 엔진 인공지능(unreal engine AI) 10번째 시간으로 Behavior Tree에서 사용하는 Service에 대해 설명합니다. Service는 Behavior Tree에서 각 task나 composite에 붙여 사용하는데, task가 실행되기 전에 먼저 실행되어 blackboard에서 값을 읽어 각 task에 값을 공급하는 등의 역할을 합니다. 또한 Service란 이름처럼 task나 composite가 실행되는 동안에 주기적으로 동작을 반복수행합니다. 언리얼 엔진 버전: 4.24.2