[Unreal Engine 5] AI Controller
·
Game Programming/Unreal Engine
개요이번 포스팅에서는 몬스터 AI를 구현하기 위해 필요한 AI Controller에 대해 다루어보도록 하겠습니다.Controller언리얼 엔진의 Controller는 Pawn(폰) 또는 Character(캐릭터)처럼 폰에서 파생된 클래스를 빙의(Possess)하여 동작을 제어할 수 있는 액터입니다. 크게 사람이 조종하는 폰에 사용되는 PlayerController와 AI를 구현하기 위해 필요한 AI Controller로 구분되며, 두 컨틀롤러 모두 Possess 함수를 통해 Pawn(폰)의 제어권을 획득하고, Unpossess 함수로 소유권 해제가 가능합니다. 컨트롤러는 제어중인 폰에 발생하는 다수의 이벤트를 받으며, 기본적으로 Pawn(폰)과 1:1 대응 관계를 가집니다. 즉, 각각의 컨트롤러는 하나의..
[Unreal Engine 5] FABRIK IK
·
Game Programming/Unreal Engine
개요언리얼 엔진 TPS 관련 강의를 들으며 AimOffset을 추가했더니 위, 아래 방향을 바라볼 때 다음과 같이 무기를 부착하지 않은 손의 위치가 이상해지는 것을 확인할 수 있었습니다.사진을 자세히 보면 왼손의 위치가 총에 붙어있지 않고 허공에 떠있는 모습을 볼 수 있는데, 이를 맞춰주는 방법을 간단히 정리해보도록 하겠습니다. FABRIK IK FABRIK IK(Forward And Backward Reaching Inverse Kinematics)은 언리얼 엔진에서 사용되는 IK 솔버 중 하나로, 캐릭터의 뼈대를 자연스럽게 움직이기 위해 사용됩니다. 언리얼 엔진에서는 Control Rig나 Animation Blueprint에서 설정할 수 있으며, 주로 팔이나 다리 등이 목표 지점에 자연스럽게 도달..
[Unreal Engine 5] GameInstanceSubsystem
·
Game Programming/Unreal Engine
개요멀티플레이어 게임을 제작하기 위한 세션 관리를 어디서 할지 고민 중에 GameInstanceSubsystem에서 처리하면 좋다는 의견을 받아 GameInstanceSubsystem이 정확하게 어떤 것인지에 대해 정리해보았습니다.Subsystem, GameInstanceSubsystem언리얼 엔진의 서브시스템은 수명이 관리되는 자동 인스턴싱 클래스입니다. 클래스는 사용하기 쉬운 확장점을 제공하여, 프로그래머는 블루프린트 및 Python 을 바로 노출시킴과 동시에 복잡한 엔진 클래스 수정 또는 오버라이드를 피할 수 있습니다.  또한 자동으로 수명이 관리되기에 서브시스템은 플러그인을 만들 때 특히 유용합니다. 그 이유는 사용자는 플러그인을 게임에 추가하기만 하면 플러그인이 언제 인스턴싱 및 초기화될 지 정..
[Unreal Engine 5] Multiplayer 개념, Net Mode
·
Game Programming/UE_Multiplayer
개요저는 지금까지 Unreal Engine 5를 사용하여 RPG 장르의 포트폴리오를 제작하였으며, 해당 프로젝트는 팀 프로젝트로 진행하였기에 개인 프로젝트도 하나 있으면 좋겠다는 생각을 하게 되었습니다. 9월 ~ 10월 사이에 열리는 하반기 공채에 지원하기 위해 어떤 프로젝트를 진행하는 것이 좋을까 곰곰히 고민한 결과 아무래도 멀티플레이어 기반의 프로젝트를 진행해보지 않았기에 천천히 Unreal Engine5를 활용하여 멀티플레이어 기반 FPS 장르의 프로젝트를 진행해보기로 마음먹었습니다. 앞으로의 일정을 간단히 요약해보면 다음과 같습니다.7 ~ 8월 : 멀티플레이어 기반의 게임 제작 강의를 들으며 기초 실력 쌓기 + 프로젝트 기획8 ~ 9월 : 프로젝트 제작아무래도 SeSAC 언리얼 과정이 다음주부터 ..