본문 바로가기

분류 전체보기16

[언리얼] FPS게임에 AI캐릭터 제작하기(1)_기본 개념 알아보기 언리얼 엔진에서 혼자 움직이는 AI 캐릭터를 만들어보자언리얼 엔진으로 게임을 개발하면서 AI 캐릭터를 구현하려고 할 때, 반드시 이해해야 하는 개념이 있다. 바로 AIController, Behavior Tree, Blackboard이다. 처음 언리얼 AI 시스템을 접하면 낯설고 복잡하게 느껴질 수 있지만, 이 세 가지 개념만 정확하게 파악하면 생각보다 깔끔하게 AI를 제어할 수 있다. 나 역시 처음에는 단순한 적 캐릭터 하나 만들기 위해 수많은 언리얼 문서를 뒤지고, 여러 영상들을 보며 헤맸다. 하지만 실제로 몇 가지 프로젝트를 거치면서 이 개념들이 어떻게 유기적으로 연결되는지를 몸으로 익히고 나니, 자연스럽게 AI를 디자인할 수 있게 되었다. 이 글은 그런 나의 실제 경험을 바탕으로, 초심자도 이해할.. 2025. 4. 2.
[언리얼] IK(InverseKinematics)란? TwoBoneIK, FABRIK, CCD 사용법 언리얼 엔진에서 애니메이션의 IK, Two-Bone IK, FABRIK, CCD언리얼 엔진에서 애니메이션 시스템은 매우 강력하고 정교한 기능을 제공한다. 그 중에서도 IK(Inverse Kinematics)는 캐릭터 애니메이션에서 현실감을 높이는 핵심 기술 중 하나이다. IK는 특히 캐릭터가 환경과 상호작용할 때 큰 차이를 만들어낸다. 예를 들어, 캐릭터가 울퉁불퉁한 지형을 걸을 때 발이 자연스럽게 땅에 붙도록 조정하거나, 벽에 손을 올리는 등의 동작을 구현할 수 있다. 거의 모든 3D게임에는 포함되어있다해도 과언이 아닌 IK는 뭘까? 이번 글에서는 IK가 무엇인지 기본 개념을 설명하고, 언리얼 엔진에서 자주 사용되는 Two-Bone IK, FABRIK, CCD IK 세 가지 IK 기법에 대해 자세히 살.. 2025. 4. 1.
[언리얼] UnrealBuildTool 에러, 내 코드만 에러, 언리얼 폴더 삭제 후 리컴파일 하는 법 UnrealBuildTool 에러, 내 코드만 에러, 언리얼 폴더 삭제 후 리컴파일 하는 법 Unreal을 빌드하다 보면 구조체를 수정했는데, 수정 내용이 반영되지 않는 경우가 있습니다. 분명히 수정했는데 바뀌지 않으니 답답할 따름입니다. 코드에 문제는 없는데 이상하게 내부적으로 꼬였을 경우 보통 솔루션 파일(.sln)을 제거하고 Gernerate Visual Studio Project Files를 실행하여 설루션 파일을 재생성 한 뒤 다시 빌드를 돌려보면 정상적으로 돌아가는 경우가 대부분입니다. 하지만 이렇게 했는데도 되지 않는다면 이제는 Binaries폴더, Intermediate폴더, .vs폴더와 Saved폴더를 제거해 보면 해결할 수 있습니다. 먼저 해당 폴더들에는 어떤 정보가 저장되는지 알아봅시.. 2025. 3. 28.
[언리얼] Delegate 종류와 사용법 (Single, Multi, Dynamic) 언리얼 엔진 델리게이트의 정의와 사용법언리얼 엔진(UE4)에서 델리게이트(Delegate)는 함수 호출을 관리하는 데 사용되는 일종의 콜백 메커니즘이다. 델리게이트를 사용하면 특정 이벤트가 발생할 때 미리 지정한 함수를 호출할 수 있다. 이를 통해 코드 구조를 유연하게 만들고 이벤트 처리 로직을 중앙 집중화할 수 있다.언리얼 엔진의 델리게이트는 크게 다음과 같은 다섯 가지 유형으로 나뉜다.Single Cast DelegateMulticast DelegateSingle Cast Dynamic DelegateMulticast Dynamic DelegateSparse Delegate이 글에서는 각 델리게이트 유형의 정의와 사용법, 그리고 Event와의 차이점에 대해 자세히 설명하겠다.1. Single Cast.. 2025. 3. 26.
[언리얼] GENERATED_BODY 매크로와 직렬화의 관계, 역할 언리얼 엔진에서 GENERATED_BODY란 무엇인가 ? 언리얼 엔진에서 C++를 활용하여 개발을 진행하다 보면 반드시 접하게 되는 매크로 중 하나가 바로 GENERATED_BODY이다. 새로운 클래스 하나를 만들 때마다, 매번 보이는 이 GENERATED_BODY는 도대체 뭘까 ? 왜 있는걸까 ? 이건 바로 언리얼 엔진에서 GENERATED_BODY는 클래스 선언 시 필수적으로 포함되는 매크로로, 엔진의 리플렉션 시스템과 직렬화, 그리고 블루프린트 통합 등을 지원하기 위해 사용된다. 1. GENERATED_BODY의 역할GENERATED_BODY는 언리얼 엔진의 오브젝트 시스템에서 매우 중요한 역할을 한다. 이 매크로는 컴파일 타임에 엔진이 자동으로 생성하는 코드 블록을 삽입하여, 클래스와 관련된 다양.. 2025. 3. 25.
[언리얼] UPROPERTY(), UFUNCTION() 리플렉션이란? 메타데이터란? 언리얼 엔진의 리플렉션 기능 이해하기언리얼 엔진은 강력한 게임 개발 플랫폼으로, 다양한 기능을 제공하여 개발자들이 직관적이면서도 고성능 게임을 만들 수 있도록 지원한다. 그중에서도 리플렉션(Reflection) 기능은 엔진 내부에서 객체의 속성과 메서드를 동적으로 다룰 수 있도록 해주는 핵심 기능 중 하나이다.리플렉션이란 무엇인가 ? 리플렉션은 코드가 런타임에 객체의 메타데이터를 검사하거나 수정할 수 있도록 하는 프로그래밍 기법이다. 언리얼 엔진에서는 이 기능을 활용하여 객체를 직렬화하거나, 에디터에서 노출하여 사용자가 직접 수정할 수 있도록 한다. 또한 블루프린트와 네트워크 동기화에도 필수적인 역할을 한다.언리얼 엔진에서의 리플렉션 활용언리얼 엔진은 C++ 기반으로 작동하지만, 블루프린트와의 상호 운용.. 2025. 3. 21.