2025/05 5

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