전체 글 68

언리얼 Delegate

델리게이트는 ‘이벤트를 발생시키는 쪽’과 ‘처리하는 쪽’을 분리시켜 주는 도구로, 복잡한 시스템에서도 깔끔한 구조를 유지하게 해줍니다. 게임 내 수많은 이벤트(입력, 충돌, UI, AI, 네트워크 등)에 효과적으로 대응할 수 있는 핵심 설계 요소입니다.✅ 델리게이트의 특징특징설명🧩 낮은 결합도(Loosely Coupled)클래스 간에 직접 참조 없이도 함수 호출이 가능. 코드 간 의존성 최소화.🔄 이벤트 기반 구조어떤 이벤트 발생 시 다양한 반응(리스너)들을 유연하게 처리 가능.🧪 확장성/유지보수성 우수다른 클래스 수정 없이 새 기능(리스너)을 추가 가능.🧠 함수 호출 추상화델리게이트를 통해 함수를 저장/호출함으로써 동적 로직 구성 가능.🎮 멀티캐스트 지원여러 개의 리스너를 동시에 바인딩해서 한..

set, unordered_set

✅ set vs unordered_set항목 set unordered_set정의이진 탐색 트리 (Red-Black Tree) 기반해시 테이블 (Hash Table) 기반원소 정렬자동 오름차순 정렬정렬되지 않음 (순서 보장 X)검색/삽입/삭제 시간O(log N)평균 O(1), 최악 O(N)중복 허용❌ (중복 제거)❌ (중복 제거)헤더파일순회 순서오름차순삽입 순서와 무관set 예시#include #include using namespace std;int main() { set s; s.insert(5); s.insert(2); s.insert(8); s.insert(2); // 중복 무시 for (int val : s) { cout unordered_set 예..

C++ 2025.06.13

Unreal MCP

🌟 개요Unreal Engine 5.5 + Python + Cursor AI를 연결하여 코드 작성 및 편집에 AI 보조를 도입하는 방법을 소개.카테고리가능한 작업액터 관리• 액터 생성 및 삭제 (큐브, 구체, 조명, 카메라 등)• 액터의 변환 설정 (위치, 회전, 크기)• 액터 속성 조회 및 이름으로 검색• 현재 레벨에 존재하는 모든 액터 나열블루프린트 개발• 커스텀 컴포넌트를 포함한 새로운 블루프린트 클래스 생성• 컴포넌트 추가 및 설정 (메시, 카메라, 조명 등)• 컴포넌트 속성 및 물리 설정 구성• 블루프린트 컴파일 및 인스턴스 생성• 플레이어 입력 매핑 생성블루프린트 노드 그래프• 이벤트 노드 추가 (BeginPlay, Tick 등)• 함수 호출 노드 생성 및 연결• 커스텀 타입과 기본값을 가진..

Unreal AI 구조

🧠 언리얼 AI 구조 1. AI Character (Pawn 또는 Character)실제 게임 월드에서 활동하는 캐릭터입니다.사람 대신 인공지능이 조작하는 주체입니다.자신이 스폰되면 자동 또는 수동으로 AI Controller에 의해 **Possess(소유)**됩니다.2. AI ControllerAI의 중추신경 역할을 합니다.AI Character를 소유하고 제어합니다.BeginPlay()나 Possess() 시점에 다음을 수행합니다:Blackboard를 초기화Behavior Tree를 실행또한 Tick을 통해 AI 판단 및 동작을 계속 처리합니다.3. BlackboardAI가 기억하는 **정보 저장소 (Key-Value 기반)**입니다.예시:TargetActor = PlayerbCanSeeTarget..

_Implementation, _Validate, Execute_

1. 함수이름_ImplementationUFUNCTION(Server, Reliable, WithValidation) 또는 UFUNCTION(BlueprintNativeEvent) 등에서 사용됨.함수 본체는 _Implementation에 작성함.✅ 예시:UFUNCTION(Server, Reliable, WithValidation)void ServerDoSomething();void AMyActor::ServerDoSomething_Implementation() { // 실제 서버에서 실행될 로직}2. 함수이름_ValidateWithValidation이 붙은 UFUNCTION에서 반드시 구현해야 함.클라이언트가 서버 RPC 호출 시 서버에서 유효성 검사를 수행함.보안상 중요한 함수일 경우 체크 필수...

이벤트 디스패처(Event Dispatcher)와 블루프린트 인터페이스(Blueprint Interface)

언리얼 엔진에서 이벤트 디스패처(Event Dispatcher)와 블루프린트 인터페이스(Blueprint Interface)는 모두 블루프린트 간 통신을 위한 도구지만, 동작 방식과 사용 목적이 다릅니다.📣 1. 이벤트 디스패처 (Event Dispatcher)✅ 특징Delegate(위임자) 기반의 콜백 메커니즘.한 오브젝트가 이벤트를 발생시키고(방송) 다른 오브젝트들이 이를 구독(바인딩) 해서 반응함.이벤트 발행자와 수신자 간의 직접 참조가 필요함 (바인딩 시점에 대상 오브젝트를 알고 있어야 함).✅ 사용 예시캐릭터가 죽었을 때, UI에서 "게임 오버"를 띄우고 싶을 때.문(Actor)이 열릴 때, 사운드나 이펙트를 별도의 컴포넌트에서 실행하고 싶을 때.✅ 흐름A Actor에 이벤트 디스패처를 선언B..

피보나치 수열 문제

서론피보나치 수열 문제를 해결하기 위해 생각의 흐름과 과정을 정리한 글 입니다. 문제 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 첫번째 코드#include #include using namespace std;int solution(int n) { if (n >= 2) { return solution(n-1) + solution(n-2); } else if (n == 1) { return 1; } else { return 0; }} 첫번째 코드 결과재귀를 이용하여 간단하게 풀 수 있을 줄 알았습니다.하지만 시간 초과로 인..

코딩테스트 2025.05.02

AI - Navigation Invoker 와 RVO

✅ Navigation Invoker (내비게이션 인보커)Project Settings - Engine - Generate Navigation Only Around Navigation Invokers ✅ 목적:동적으로 내비게이션 메쉬(NavMesh)를 생성하기 위한 시스템입니다. 기본 배경:언리얼 엔진에서 AI가 이동하려면 NavMesh가 필요합니다. 하지만 월드 전체에 NavMesh를 미리 생성해 놓으면 퍼포먼스에 큰 영향을 미치고, 메모리도 많이 사용됩니다. 이를 해결하기 위해 필요한 위치에서만 NavMesh를 실시간으로 생성해주는 게 Navigation Invoker입니다. 작동 방식:Actor에 Navigation Invoker 컴포넌트를 추가하면, 해당 Actor 주변의 일정 범위 내에서만 Na..

멀티 게임 - Bath Rumble

개요 주어진 템플릿을 최대한 활용하여 3주간 멀티 게임을 제작.기획 1기 욕조 | NotionMade with Notion, the all-in-one connected workspace with publishing capabilities.www.notion.so boardmix boardmix.com완성 발표 자료 https://www.canva.com/design/DAGkyr36JlM/hFIHV9te2xRrJzA3q6osFw/editKPT 회고 Keep - 현재 만족하고 있는 부분홍성래템플릿이 복잡했음에도 불구하고 나름 역할에 맞게 게임을 만들어냈다.천세준템플릿이 어려웠지만 방향을 잘 잡고 진행한 것 같았습니다.어찌됐건 결과물이 나왔다는게 만족스럽습니다.김도훈처음에 팀원들의 실력에 맞게 난이도 ..