OSWorlds - 게임 블로그 📌 게임 프로그래밍 📌 게임소식 🔑 로그인 📝 회원가입

Unreal Engine

게임 프로그래밍

언리얼 엔진 보스 Grab 구현 중 발생한 문제 해결|Motion Warping과 액션 상태 초기화

보스가 플레이어를 잡아 들어 올리는 Grab 시스템을 구현하면서 두 가지 문제가 발생했습니다. 첫 번째는 보스와 플레이어가 서로 다른 위치에서 Grab 애니메이션을 재생하는 문제였고, 두 번째는 플레이어가 공격이나 스킬을 사용하던 중 Grab에 걸렸을 때 기존 액션 상태가 정상적으로 종료되지 않는 문제였습니다. 이번 글은 일반적인 Grab 시스템 제작 튜토리얼이 아닙니다. 실제 프로젝트에서 발생한 증상과 확인 과정, 그리고 […]

언리얼 엔진 Animation Blueprint State Machine 사용법
게임 프로그래밍

언리얼 엔진 State Machine 사용법, Idle·Run·Jump 애니메이션 전환하기

캐릭터를 처음 만들 때 Idle 애니메이션 하나만 재생하는 것은 어렵지 않습니다. 하지만 이동을 구현하기 시작하면 상황이 달라집니다. 캐릭터가 멈춰 있을 때는 Idle, 움직이기 시작하면 Walk 또는 Run, 공중에 뜨면 Jump 애니메이션이 재생되어야 합니다. 다시 땅에 착지하면 자연스럽게 이동 애니메이션으로 돌아와야 합니다. 언리얼 엔진에서는 이런 캐릭터의 상태에 따른 애니메이션 전환을 관리하기 위해 Animation Blueprint의 State Machine을

언리얼 엔진 Line Trace Sphere Trace Box Trace 차이와 사용 방법
게임 프로그래밍

언리얼 엔진 Line Trace, Sphere Trace, Box Trace 차이와 사용법 총정리

언리얼 엔진에서 공격 판정, 상호작용, 적 탐지 같은 기능을 만들다 보면 자주 등장하는 것이 Trace입니다. 이전 Collision 글에서 Box Collision이나 Sphere Collision처럼 실제 Collision Component를 이용해 충돌을 감지하는 방법을 살펴봤다면, Trace는 필요한 순간에 특정 방향이나 범위를 검사해서 어떤 Actor가 있는지 즉시 확인하는 방식이라고 생각하면 쉽습니다. 예를 들어 총을 발사했을 때 앞에 적이 있는지 확인하거나, 플레이어

게임 프로그래밍

언리얼 엔진 Accessed None 오류 원인과 해결 방법 총정리

언리얼 엔진에서 블루프린트 작업을 하다 보면 한 번쯤 반드시 만나게 되는 오류가 있습니다. 바로 **Blueprint Runtime Error: Accessed None**입니다. 처음 이 오류를 보면 블루프린트 자체가 잘못됐거나 엔진에 문제가 생긴 것처럼 느껴질 수 있습니다. 하지만 대부분은 생각보다 단순합니다. 사용하려는 Actor, Component, Widget 등의 Object Reference가 비어 있는 상태에서 해당 객체의 변수나 함수를 호출했기 때문​입니다. 저 역시

게임 프로그래밍

언리얼 엔진 Event Tick을 남발하면 안 되는 이유

언리얼 엔진 블루프린트를 배우다 보면 가장 먼저 만나게 되는 이벤트 중 하나가 Event Tick입니다. 별도의 호출 없이 계속 실행되기 때문에 캐릭터 상태를 확인하거나 오브젝트를 움직일 때 무척 편리해 보입니다. 하지만 모든 기능을 Event Tick에 연결하기 시작하면 프로젝트가 커질수록 성능이 떨어지고 블루프린트 구조도 복잡해질 수 있습니다. 그렇다고 Event Tick을 무조건 사용하면 안 된다는 뜻은 아닙니다. 중요한

위로 스크롤