습관형성(60)
-
패스트캠퍼스 환급챌린지 36일차 : RPG 전투 플레이 프로젝트로 배우는 언리얼 엔진 5 게임 개발 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 언리얼 엔진의 AI 시스템을 학습하면서 이번에는 AI Perception 이론에 대해 공부했다. 게임 내에서 인공지능이 단순히 스크립트대로만 움직이는 것이 아니라, 실제로 플레이어의 행동이나 환경 변화에 반응하도록 만들기 위해 필수적인 기능이다. Perception 시스템은 AI가 무엇을 보고, 무엇을 듣고, 어떤 자극에 반응할지를 제어하는 핵심 도구이며, 이를 통해 게임 속 AI를 보다 현실적이고 지능적으로 동작하도록 만들 수 있다. Perception의 구성은 크게 센서(Sense)와 자극원(Stimuli Source)로 나뉜다. 센서는 Sight(시각), Hearing(청각), Damage(피해), Touch(접촉) 등 다양한 감각..
2025.05.06 -
패스트캠퍼스 환급챌린지 35일차 : RPG 전투 플레이 프로젝트로 배우는 언리얼 엔진 5 게임 개발 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 이번에는 언리얼 엔진의 EQS (Environment Query System) 이론을 학습하며, AI가 더 지능적인 결정을 내릴 수 있도록 만드는 방법에 대해 이해하는 시간을 가졌다. 특히 원거리 몬스터가 플레이어를 향해 공격할 수 있는 적절한 위치를 자동으로 판단하고 이동하도록 만드는 상황을 염두에 두고 공부했다. EQS는 AI가 환경 정보를 기반으로 최적의 위치나 대상을 결정할 수 있게 도와주는 시스템이다. EQS 또한 언리얼에서 기능을 제공해주기 때문에 별다른 소스코드 제작 없이 사용을 할 수 있다. 쉽게는 A Star처럼 생각을 하면 된다고 하고 실제로는 그것과 조금 다른 느낌인 것 같다. 예를 들면, 플레이어와 일정 거리 이상 ..
2025.05.05 -
패스트캠퍼스 환급챌린지 34일차 : RPG 전투 플레이 프로젝트로 배우는 언리얼 엔진 5 게임 개발 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 이번에는 언리얼 엔진의 Behavior Tree 시스템을 활용해 몬스터의 Chase행동을 구현해보았다. 이전까지는 단순히 블루프린트에서 AIController를 이용해 이동 명령만 주던 수준이었지만, Behavior Tree를 도입하면서 AI의 상태를 보다 명확하고 구조적으로 나눌 수 있게 되었다. 먼저 몬스터의 AI가 기본적으로 수행할 수 있는 상태들을 나열해보고, 그 중에서 플레이어가 일정 범위 안에 들어왔을 때 쫓아가는 행동을 중점적으로 구현했다. 이를 위해 Blackboard에 플레이어의 위치를 저장할 수 있는 Key 값을 만들고, Behavior Tree에서는 플레이어 위치를 추적하고 해당 위치로 Move To 시키는 로직을 ..
2025.05.04 -
패스트캠퍼스 환급챌린지 33일차 : RPG 전투 플레이 프로젝트로 배우는 언리얼 엔진 5 게임 개발 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 언리얼 엔진의 Behavior Tree 시스템을 활용하여 몬스터의 Patrol 기능을 구현했다. 이전까지는 상태 머신(FSM)을 사용해 간단한 AI 로직을 구성했지만, Behavior Tree를 적용하면서 보다 체계적이고 유연한 방식으로 AI의 행동 흐름을 설계할 수 있었다는 점이 가장 큰 차이였다. 우선 몬스터가 랜덤으로 이동 하는 기능을 간단히 구현해봤다. 복잡한 AI 시스템은 아니고, Blackboard에 위치 정보를 저장하고, Behavior Tree에서는 이 위치로 몬스터를 이동시키는 기본적인 구조였다. 기존의 FSM 방식과 달리 Behavior Tree를 사용하니 시각적으로 로직이 잘 보여서 구조를 이해하고 수정하기가..
2025.05.03 -
패스트캠퍼스 환급챌린지 32일차 : RPG 전투 플레이 프로젝트로 배우는 언리얼 엔진 5 게임 개발 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 언리얼 엔진에서 AI의 이동을 제어하기 위한 핵심 요소 중 하나인 Nav Volume과 Nav Filter에 대해 학습했다. 이전까지는 AI가 단순히 목적지를 향해 이동하는 방식만 사용했지만, 이번 학습을 통해 이동 가능한 영역을 직접 설정하고, 특정 영역에 제약을 둘 수 있다는 점에서 더 정교하고 현실감 있는 AI 동작을 설계할 수 있게 되었다. 먼저 Nav Mesh Bounds Volume은 AI가 이동 가능한 경로를 계산하기 위해 반드시 필요한 구성 요소였다. 이 볼륨을 레벨에 배치하고 Rebuild를 통해 녹색 영역으로 표시된 네비게이션 맵을 생성하면, AI는 이 영역 내에서만 경로를 계산하고 움직일 수 있었다. 즉, AI..
2025.05.02 -
패스트캠퍼스 환급챌린지 31일차 : RPG 전투 플레이 프로젝트로 배우는 언리얼 엔진 5 게임 개발 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 언리얼 엔진의 AI 시스템 중 하나인 Behavior Tree의 개념을 학습했다. 기존에는 단순히 조건문과 상태 머신을 이용해 적의 행동을 제어했지만, 이번 강의를 통해 비헤이비어 트리를 사용하면 더 구조적이고 확장성 높은 AI 로직을 만들 수 있다는 점을 체감했다. Behavior Tree는 루트 노드부터 시작해서 여러 하위 노드들로 구성된 트리 구조를 갖고 있으며, 이 노드들이 순차적 혹은 선택적으로 실행되며 AI의 행동을 결정짓는 방식이다. 처음에는 다소 복잡해 보였지만, 구성 요소들을 하나하나 익히며 점점 이해가 되기 시작했다. Composite Node에서는 대표적으로 Selector와 Sequence가 있고, 이들을 ..
2025.05.01