UE5 이동속도 동기화와 모션매칭 안정화 트러블슈팅
·
Dev./UE 언리얼 엔진
이 글은 UE5 프로젝트에서 기획 스탯 → 캐릭터 이동속도 → 애니메이션 모션매칭이라는 파이프라인 위에서 터진 문제를 분석하고 해결한 기록이다. 추가로, 해결 과정에서 생긴 코드 중복을 정리한 리팩토링까지 다룬다. GAS(Gameplay Ability System)를 활용해 캐릭터 스탯을 관리하거나, UE5의 모션매칭(Pose Search)으로 로코모션을 구축하고 있다면 분명 한 번쯤 마주칠 문제들이다. 캐릭터가 화면 위에서 자연스럽게 뛰어다니려면 사실 세 개의 층이 정확하게 맞물려야 한다. 첫 번째 층: 데이터 층데이터 테이블에 "이 캐릭터는 민첩 1.2배"라고 기입하면, 시스템을 타고 실제 이동속도에 반영되어야 한다.두 번째 층: 물리 층데이터가 반영된 이동속도로 캐릭터의 캡슐(충돌체)이 월드 위를 ..
Antigravity IDE 최적화로 개발 Flow 잡기
·
Dev./AI 인공지능
프로젝트에서 생산성은 중요하다!이 과정에서 AI 기반 IDE인 Antigravity는 강력한 파트너가 되었다. 코드 생성, 리팩토링 제안, 터미널 명령 실행까지 상당 부분을 위임할 수 있다.그러나 AI의 “지능”은 충분했지만 “자율성”은 부족했다.매번 눌러야 하는 Accept예측할 수 없는 쿼터 초과작업 완료 여부를 계속 확인해야 하는 피로감이 문제는 단순한 불편함이 아니었다.개발자의 몰입 상태, 즉 Flow(완전한 집중 상태)를 끊어버린다...본 글에서는 Antigravity 환경에서 발생한 생산성 저하 문제를 해결하기 위한 개발 환경 최적화 과정을 공유한다.1. 똑똑하지만 자율적이지 않은 에이전트AI 에이전트와 협업하며 나타난 주요 증상은 다음과 같다.① 반복적인 승인 작업1. 터미널 명령 실행(ru..
[GAS] Aim Offset 트러블슈팅... 고개 하나 돌리는 데 4개의 버그를 만났다
·
Dev./UE 언리얼 엔진
TPS 게임에서 캐릭터가 카메라 방향을 따라 고개를 돌리는 건 너무나 익숙한 연출이다. 플레이어는 이 기능이 있는지조차 인식하지 못한다. 하지만 없으면 알아채기 쉽다. “이 캐릭터 왜 이렇게 뻣뻣하지?” Motion Matching 기반 애니메이션 시스템 위에 Aim Offset을 구현하는 과정에서 총 4개의 문제를 만났다.이 글을 읽고 나면 다음을 얻게 된다.Actor Rotation과 Root Bone Rotation이 왜 다른지, 그리고 언제 어떤 것을 써야 하는지각도 보간(Interpolation)에서 흔히 저지르는 수학적 실수와 해결법AnimGraph에서 노드 배치 순서가 결과에 미치는 영향멀티플레이 환경에서 GetController()가 실패하는 이유와 대안애니메이션 스레드 안전성을 위한 캐..
[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> 문제 인식게임 업계 채용 정보는 공채, 수시, 게임잡, 원티드 등 여러 플랫폼에 흩어져 있..
Genspark Speakly: 개발자의 새로운 무기
·
Dev./AI 인공지능
https://genspark.ai/speakly/invite/MWI4MWU4NzJMYzVhM0xkN2E0TDc1MjdmNDI1NzQ3OEwzYWIy (등록하면 우리 둘 다 무료 멤버십을 받을 수 있어요!)타이핑 대신 말하기, 그리고 달라진 워크플로우게임 개발은 코드만 짜는 일이 아니다. 기획 문서를 쓰고, 팀원과 소통하고, 버그를 기록하고, 플레이테스트 피드백을 정리한다. 대부분 타이핑이다. 최근 Genspark에서 출시한 Speakly를 활용해보면서, 이 "타이핑 시간"을 극적으로 줄일 수 있다는 걸 확인했다. 단순한 음성 인식 도구가 아니다. AI가 말을 다듬어주고, 문맥을 이해하고, 심지어 언리얼 개발 특유의 영어-한국어 혼용도 자연스럽게 처리한다. 이 글에서는 Speakly가 무엇인지 간략히 소..
언리얼 엔진 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인칭으로 점프증상..