[GAS] Aim Offset 트러블슈팅... 고개 하나 돌리는 데 4개의 버그를 만났다
·
Dev./UE 언리얼 엔진
TPS 게임에서 캐릭터가 카메라 방향을 따라 고개를 돌리는 건 너무나 익숙한 연출이다. 플레이어는 이 기능이 있는지조차 인식하지 못한다. 하지만 없으면 알아채기 쉽다. “이 캐릭터 왜 이렇게 뻣뻣하지?” Motion Matching 기반 애니메이션 시스템 위에 Aim Offset을 구현하는 과정에서 총 4개의 문제를 만났다.이 글을 읽고 나면 다음을 얻게 된다.Actor Rotation과 Root Bone Rotation이 왜 다른지, 그리고 언제 어떤 것을 써야 하는지각도 보간(Interpolation)에서 흔히 저지르는 수학적 실수와 해결법AnimGraph에서 노드 배치 순서가 결과에 미치는 영향멀티플레이 환경에서 GetController()가 실패하는 이유와 대안애니메이션 스레드 안전성을 위한 캐..
Rider 없이 언리얼 개발하기: AI 에이전트와 터미널 빌드 워크플로우
·
Dev./AI 인공지능
Unreal Engine 5.6 × Antigravity | 트러블슈팅 Dev Log무거운 IDE, 정말 매번 켜야 하는 걸까?언리얼 엔진으로 C++ 개발을 하다 보면 라이더(Rider)나 비주얼 스튜디오(Visual Studio) 같은 IDE를 당연하게 사용한다. 코드 수정 한 줄을 확인하기 위해 메모리를 많이 잡아먹는 IDE를 켤 때마다 불편함을 느꼈다... 이 글은 AI 코딩 에이전트인 안티그래비티(Antigravity)를 활용해, IDE를 열지 않고도 터미널에서 직접 빌드하고 에디터를 제어하는 워크플로우를 구축한 과정을 다룬다. 실제로 GAS(Gameplay Ability System)를 구현하면서 이 워크플로우를 세팅하고 검증했다. 이 글을 읽고 나면 다음을 얻을 수 있다.무거운 IDE 없이 언..
[GAS] 모션매칭 SandboxCharacter를 MyCharacter로 전환하기
·
Dev./UE 언리얼 엔진
Epic의 Game Animation Sample을 실제 프로젝트에 이식하며 마주친 문제와 그 해결 과정을 기록한다.왜 이 작업이 필요했는가에픽게임즈가 공개한 Game Animation Sample의 모션매칭 캐릭터는 자연스러운 이동 애니메이션을 보여준다. 걷기, 달리기, 방향 전환 사이의 전환이 부드럽다. 이걸 우리 프로젝트의 시커(Seeker) 캐릭터에 붙일 수 있다면,전투와 GAS(Gameplay Ability System) 위에 최상급 로코모션까지 얹을 수 있다. 문제는 단순하지 않았다. Game Animation Sample의 BP_SandboxCharacter는 ACharacter를 곧바로 상속한 독립된 블루프린트다.그저 리타게팅한 스켈레탈을 입히는 건 크게 어렵지 않았지만 이것을 커스텀하게..
[GAS] 스켈레탈 메쉬 크래시 해결: EXCEPTION_ACCESS_VIOLATION
·
Dev./UE 언리얼 엔진
프로젝트의 몬스터 에셋의 스켈레탈 메쉬(Skeletal Mesh; 캐릭터의 뼈대와 피부 정보가 포함된 3D 모델)를 여는 것만으로 에디터가 닫혀버린다... 아마 예전에 LOD 관련으로 작업을 하다가 파일이 꼬인 문제에 대한 연장선인 것으로 추정된다...ㅠ 2026.01.06 - [Dev./UE 언리얼 엔진] - [GAS] LOD 설정 실수로 인한 빌드 크래시, 원인 분석과 해결까지 [GAS] LOD 설정 실수로 인한 빌드 크래시, 원인 분석과 해결까지“내 PC에서는 되는데?” — 협업 환경에서 가장 무서운 말노트 PC에서만 크래시가 발생했다문제는 내 PC에서는 아무런 이상이 없었다는 점이다. 같은 Git 저장소, 같은 브랜치, 같은 커밋. 그런데raindrovvv.tistory.com현재 개발 중인 'G..
언리얼 엔진 개발자를 위한 C드라이브 용량 확보 가이드: 20GB+ 되찾기
·
Dev./기타 개발 관련
빌드 실패의 원인이 코드가 아니라 '용량 부족’일 때, 우리는 무엇을 정리해야 하는가 언리얼 엔진 프로젝트를 진행하다 보면 어느 순간 익숙한 경고를 마주하게 된다. “디스크 공간이 부족합니다.” 빌드가 중간에 실패하고, 에디터가 버벅이며, 셰이더 컴파일이 멈춘다. 문제는 코드가 아니다. C드라이브가 숨을 쉬지 못하는 것이다. 특히 여러 버전의 SDK, 빌드 도구, 드라이버가 층층이 쌓인 개발 PC에서 이 문제는 피할 수 없는 숙명과도 같다. 프로젝트 개발 환경을 정리하면서 약 20GB 이상의 용량을 확보한 기록을 공유한다. 이 글을 통해 다음을 얻을 수 있다:삭제해도 안전한 파일과 폴더의 명확한 구분절대 삭제하면 안 되는 치명적인 폴더 경고각 항목별 예상 확보 용량향후 재발 방지를 위한 설정 팁1. 문제..
[Dev Log] 48시간 Vibe Coding - 게임잡스(게임업 신입 채용정보 웹)
·
Dev./AI 인공지능
서버비용 0원으로 구축한 '게임채용 자동화 대시보드' 개발기 이번 프로젝트는 “모든 로직을 직접 타이핑한 개발”은 아니다.Vibe Coding 방식을 택했고, 문제 정의부터 아키텍처 설계, UX 재설계, 성능 최적화, 그리고 보안 문제까지프로덕트 개발의 전체 사이클을 압축해서 경험했다. 이 글에서 말하고 싶은 핵심은 하나다.이 프로젝트의 가치는 로직 문법이 아니라, 판단의 방향성에 있다.1. 프로젝트를 시작하며처음 이 프로젝트를 떠올렸을 때,이건 기술적으로 어려운 문제는 아니다라고 판단했다.[ 프로젝트 개요 ]- 프로젝트명: GameJobs (게임잡스)- 개발 기간: 2026.01.29 ~ 2026.01.31> 문제 인식게임 업계 채용 정보는 공채, 수시, 게임잡, 원티드 등 여러 플랫폼에 흩어져 있..
언리얼 엔진 GAS(Gameplay Ability System)
·
Dev./UE 언리얼 엔진
멀티플레이어 동기화 문제, 스킬 상태 관리, 버프와 디버프의 중첩 처리까지. 스킬 시스템을 직접 구현하다 보면 코드는 빠르게 비대해지고, 어느 순간 수정이 두려운 덩어리가 된다.실제 게임 프로젝트를 진행하고 있는 지금 마주하고 있는 문제라서 GAS를 공부해보기로 했다. 지금 당장 프로젝트의 관련 로직을 전부 GAS를 도입하여 바꿔야 할지도 모르겠다... 이 지점에서 언리얼 엔진이 제시하는 공식 해답이 게임플레이 어빌리티 시스템(Gameplay Ability System, GAS)이다.GAS는 에픽게임즈가 포트나이트와 파라곤 같은 대규모 멀티플레이어 게임을 위해 직접 설계한 프레임워크다. 태생부터 실전용이다. 대신 처음 접하면 구조가 낯설고, 진입 장벽이 높게 느껴진다.이 글의 목적은 GAS의 모든 API..
[GAS] Unreal Engine 1인칭/3인칭 카메라 전환 시스템
·
Dev./UE 언리얼 엔진
F5 키를 누른다. 3인칭에서 1인칭으로 전환된다. 마우스 좌클릭(활을 조준)을 누른다. 짧은 시간이 지나면 카메라가 갑자기 3인칭으로 전환되어 버린다.분명 1인칭이었는데, 왜 3인칭 위치로 돌아간 걸까? 다른 캐릭터로 바꿔본다. 이번엔 1인칭에서 3인칭으로 복귀가 안 된다.카메라가 캐릭터 내부에 박혀서 움직이지 않는다.멀티플레이 테스트를 시작한다. 내 화면에서는 정상인데, 다른 플레이어 화면에서 내 캐릭터가 엉뚱한 방향을 바라보고 있다. 시점 전환은 단순해 보이지만, 상태 관리, Tick 최적화, 네트워크 동기화가 복잡하게 얽힌 시스템이다. 이 글은 1인칭/3인칭 카메라 전환 시스템을 구현하면서 마주친 다섯 가지 실제 문제와 그 해결 과정을 기록한다.문제 1: 1인칭에서 줌 효과 후 3인칭으로 점프증상..
[GAS] Unreal Engine 데미지 팝업 시스템 개선: 타격감을 위한 Dev Log
·
Dev./UE 언리얼 엔진
데미지 숫자가 화면에 뜬다. 24, 31, 28, 19… 빠르게 적을 공격하면 화면은 숫자의 홍수가 된다. 읽을 수 없다. “내가 지금 얼마나 데미지를 넣고 있는 거지?” 플레이어는 혼란스럽다. 디아블로 4를 켜본다. 보더랜드4 플레이 영상을 본다. 같은 연사 공격인데 숫자가 깔끔하게 보인다. 숫자가 튀어 오르고, 연속 타격은 하나의 숫자로 합쳐지며, 멀리 있는 적의 숫자는 작게 표시된다. 이 글은 단순히 작동하는 데미지 팝업 시스템을 플레이어가 정보를 직관적으로 파악할 수 있는 시스템으로 개선한 과정을 담고 있다. 1. 무엇이 부족했는가기존 시스템의 구조프로젝트의 데미지 팝업 시스템은 기본기가 탄탄했다.오브젝트 풀링(Object Pooling, 위젯을 매번 생성하지 않고 미리 만들어둔 풀에서 꺼내 쓰는..
[GAS] 1월 초 구현한 시스템 정리
·
Dev./UE 언리얼 엔진
📅 1월 9일 (금): 사운드 시스템 고도화 및 안정화사운드/VFX 시스템 최적화: 메모리 사용량 최적화 및 Wwise 프로젝트 업데이트. 오디오 시스템 개선: 캐릭터 사운드 믹싱, 무기 레이어드 사운드 시스템, RTS/TPS 모드별 오디오 컴포넌트 기능 개선. 애니메이션 및 이동 로직: FootManagerComponent의 멀티플레이어 버그 수정, 시커(Seeker)의 Gait(보행) 전환 로직 안정화. 네트워크 및 세션: OnlineGameSubsystem 안정화, 세션 슬롯 로직 수정 및 멀티플레이어 입출력 최적화. 렌더링 및 성능: 컬링 거리 최적화 및 SignificanceManager를 통한 트랩/프랍 최적화.📅 1월 10일 ~ 11일 (토~일): 시커 AI 시스템 및 전투 로직 구현AI..