2025/05 4

UE5) 자손 클래스 생성

게임을 하면 적의 형태는 여러가지가 있다는 것을 알 수 있는데, 적들의 공통 기능들이 있다면 이를 구현할 때 일일이 하나씩 구현하는 것은 시간낭비이다. 이 때 C++의 자손 클래스 기능을 통해 빠르게 구현할 수 있다. 캐릭터의 공격에 맞고 캐릭터를 추적하는 적의 기능이 구현되어있다면 이 클래스의 자손 클래스를 생성할 수 있다. 부모로 삼고자 하는 클래스파일을 우클릭하면 자손 블루프린트 클래스를 생성할 수 있다. 생성된 자손 블루프린트 클래스를 생성하면 컴포넌트는 부모 클래스와 똑같은 걸 볼 수 있다. 이벤트 그래프는 기본 노드들이 Parent의 이벤트 그래프를 가져와 쓰는 것처럼 보인다. 하지만 자손 클래스는 부모 클래스의 이벤트 그래프의 노드들을 그대로 가져와 사용한다. 이는 C++의 상속 기능과 ..

언리얼 엔진 2025.05.28

UE5) 두 개의 키를 입력하는 Input 기능 구현 방법

WSAD를 통해 이동을 하지만 Shift를 누르면 더 빨리 달리는 기능을 구현해보았다. 입력 매핑 컨텍스트에 Shift키를 Input으로 매핑한 뒤에 트리거를 '코딩된 액션'을 선택해준다. Input System에서 트리거는 입력 액션이 언제, 어떤 조건으로 발동될지 결정하는 부분이고, 모디파이어는 들어온 입력 값을 어떻게 변형할지 결정하는 부분이다. 위 사진에서 InputSpinrt키 트리거의 코딩된 액션은 Shift키를 누를 때 먼저 입력되어야하는 액션을 InputMove(이동)으로 정해주는 것이다. 즉 WSAD를 입력하고 있어야 Shift를 눌러 InputSprint를 재생할 수 있다는 뜻이다. Started : Shift + WSAD일 때 빠르게 달리기Completed : Shift + ..

언리얼 엔진 2025.05.23

UE5) 적,NPC 공격 기능 인공지능 추가

https://zzugest1.tistory.com/75 UE5) 적, NPC 인공지능 시스템게임을 제작할 때 플레이어 외 여러 몹들을 생성해 이들과 상호작용는 것을 목표로 제작할 수 있는데, 이 때 적이나 NPC들이 어떻게 행동할지 정해주는 인공지능(AI) 시스템을 언리얼 엔진의 비헤zzugest1.tistory.com 언리얼 엔진의 비헤이비어 트리와 블랙보드를 이용해 적이 플레이어 캐릭터를 추격하는 기능을 구현해보았다. 여기서 플레이어를 추격 후 일정거리에 도달하면 플레이어를 공격하도록 기능을 추가해볼 것이다. 비헤이비어 트리의 노드 종류 중 하나인 Task 노드는 AI가 수행할 가장 기본적인 동작을 담은 노드인데 이 Task 노드를 블루프린트 클래스로 직접 만들 수 있다. 콘텐츠 드로어에서 우클릭 ..

언리얼 엔진 2025.05.09

UE5) 적, NPC 인공지능 시스템

게임을 제작할 때 플레이어 외 여러 몹들을 생성해 이들과 상호작용는 것을 목표로 제작할 수 있는데, 이 때 적이나 NPC들이 어떻게 행동할지 정해주는 인공지능(AI) 시스템을 언리얼 엔진의 비헤이비어 트리(Behavior Tree)로 제작할 수 있다. 콘텐츠 드로어 우클릭 후 인공지능을 클릭하면 블랙보드와 비헤이비어 트리를 볼 수 있다. 먼저 블랙보드를 생성 후 보면 왼쪽에 블랙보드 키를 생성하는 칸과 키들의 디테일창이 있다. 여기서 생성된 키는 후에 설명할 비헤이비어 트리에서 사용된다. 그리고 비헤이비어 트리를 생성하면 위와 같이 맨 첫시작 노드 ROOT를 이용할 블랙보드에 연결해 블랙보드 안의 키들을 사용할 수 있고 하위 노드로 세개의 컴포짓 노드를 생성할 수 있다. 이는 각각 아래와 같다.S..

언리얼 엔진 2025.05.08