분류 전체보기 90

n8n - 4편 — 트러블슈팅 & ROI 분석

4편 — 트러블슈팅 & ROI 분석실전에서 마주친 문제 12가지와 해결 전략 + 자동화 도입 성과1. 들어가며이 시스템은 단순히 노드를 이어 붙인 자동화가 아니라,AI – 사람 – 시스템이 함께 작동하는 완전한 CRM 파이프라인이었습니다.하지만 실제 구축 과정에서는 예상치 못한 문제가 계속 등장했습니다.Google Sheets, Notion API, OpenAI, n8n이라는 서로 다른 생태계가 만나면서 발생하는 구조적 충돌들이었죠.이번 글에서는 실제로 부딪혔던 문제들을5개의 문제 카테고리로 구분하여 구조적으로 정리하고,마지막에는 자동화의 정량적 성과(ROI)까지 함께 담았습니다.2. 트러블슈팅문제의 본질에 따라 5가지 카테고리로 나누어 정리했습니다.Ⅰ. 상태 관리 & 데이터 무결성 (State Mana..

카테고리 없음 2025.12.07

n8n - 3편 — 데이터 모델링 & 중복 처리

3편 — 데이터 모델링 & 중복 처리Staging → Production 구조로 구축한 안정적인 CRM Sync 아키텍처1. 들어가며AI가 아무리 똑똑해도, 데이터가 잘못 저장되면 CRM 전체가 오염됩니다.따라서 “어디에 어떤 형태로 데이터를 저장할 것인가?”를 결정하는 것은 자동화 시스템의 핵심 설계 요소입니다.이번 글에서는 실제 프로젝트에서Google Sheets → Notion으로 이어지는 데이터 흐름을 어떤 기준으로 나누고,어떤 방식으로 중복·오류를 방지했는지를 자세히 설명합니다.2. Staging vs Production: DB를 나누면 모든 문제가 풀린다처음에는 Google Sheets 하나만 두고 AI가 데이터를 계속 덮어쓰는 방식이었습니다.하지만 이 구조는 몇 가지 심각한 문제를 발생시켰습..

카테고리 없음 2025.12.07

n8n - 2편 — AI와 n8n 설계의 핵심

2편 — AI와 n8n 설계의 핵심AI를 믿되 맡기지 않는다: Router 패턴과 Slot Filling의 모든 것1. 들어가며고객 문의를 자동화한다는 것은 단순히 AI에게 “읽고 정리해줘”라고 시키는 것만으로는 충분하지 않습니다.AI는 때때로 JSON을 자연어처럼 대답하거나, 자연어를 JSON처럼 포맷팅하며 예기치 않은 방식으로 동작하기 때문입니다.실제 프로젝트 초기에 가장 큰 문제였던 것도 바로 이것이었습니다:“입력 담당 AI가 갑자기 대화를 시작하고,조회 담당 AI는 JSON을 뱉는 상황.”이 문제는 단순한 프롬프트 수정으로 해결되지 않았습니다.그래서 이번 글에서는 Router 패턴과 Slot Filling을 활용해 안정적인 대화형 자동화 시스템을 설계한 과정을 설명하겠습니다.2. 왜 한 AI에게 ..

카테고리 없음 2025.12.07

n8n - 1편 — 문제 정의 & 아키텍처 개요

1편 — 문제 정의 & 아키텍처 개요AI 기반 CRM 자동화의 시작: 왜 우리는 Human-in-the-loop 방식을 선택했는가?1. 들어가며고객 문의가 하루 수십 건씩 쏟아지면, 그 모든 내용을 사람이 직접 읽고 정리하고 데이터베이스에 저장하는 일은 생각보다 훨씬 많은 시간을 잡아먹습니다.AI 기술이 빠르게 발전하고 있지만, “AI에게 전적으로 맡기면 쉽겠지?”라는 기대는 곧 현실적인 문제에 부딪히곤 합니다.이번 프로젝트는 AI의 능력과 사람의 판단력을 결합해,고객 문의 → 검수 → CRM DB 반영까지 이어지는 일련의 과정을 거의 자동화한 경험을 바탕으로 합니다.이 글에서는 왜 이런 시스템이 필요했는지, 그리고 전체 구조를 어떻게 설계했는지에 대해 ‘개념적 관점’에서 풀어보겠습니다.2. 기존 방식의..

카테고리 없음 2025.12.07

PlacementHelperActor 기능 가이드

🛠 PlacementHelperActor 기능 가이드개요Editor 전용 유틸리티 액터로, StaticMesh 배치 시 정렬·초기화·무작위화·머티리얼·콜리전 등을 손쉽게 조작할 수 있도록 지원합니다.🔧 주요 기능 목록기능명 설명 디버그 표시 단축AlignToGround지면에 Z 위치 맞춤라인 + 위치 메시지버튼AlignSlope메시 하단 노멀에 Pitch·Roll 맞춤노멀 라인 + 각도 표시버튼RandomYaw지정 각도 간격 기반 랜덤 Yaw화살표 + 회전 각도버튼RandomLocationInRadiusXY 방향 무작위 이동이동 라인 + 반경 스피어버튼ResetLocation / ResetRotation인스턴스별 초기 위치·회전 복구텍스트 알림버튼CycleMaterial슬롯 0 머티리얼 순환이름 표시..

언리얼 엔진 2025.07.18

UE5 커스텀 유틸리티: PlacementHelperActor로 정렬·랜덤·토글을 한 번에

레벨 디자인 하다 보면, 스태틱 메시 하나 배치할 때도 정렬, 회전, 재질 변경, 콜리전 설정 등 반복적인 수작업이 쌓이기 쉽습니다.이런 작업을 조금이라도 줄이고자, Unreal Engine 5.5에서 에디터 전용 PlacementHelperActor를 구현했습니다.💡 한 줄 요약: 메시 배치에 필요한 7가지 기능을 버튼 하나로 끝냅니다.기능 요약기능 설명AlignToGroundZ 위치를 자동으로 지면에 정렬 (피벗 or 메시 하단 기준)AlignSlope지면 노멀에 맞게 Pitch·Roll 회전 정렬RandomYaw지정 간격 기반으로 무작위 Yaw 회전 적용RandomLocationInRadiusXY 평면 내 무작위 이동 (반경 설정 가능)ResetLocation / ResetRotation인스턴스별..

언리얼 엔진 2025.07.18

Unreal Character - 캐릭터 공격 판정 트러블슈팅 정리

UE5 공격 판정 트러블슈팅 정리🎯 목표바닥을 공격해도 공격이 취소되지 않아야 합니다.스폰된 엑터(예: 스포너, 몬스터, 벽 등)가 겹쳐 있을 경우에도 모든 충돌 대상을 감지하고 올바르게 판단해야 합니다.🧱 문제 1: 바닥 공격 무시 조건이 있음에도 공격이 취소되는 현상🔎 현상Hit.ImpactNormal.Z > 0.8f 조건으로 바닥을 감지하면 무시하도록 했지만,UE_LOG(LogTemp, Warning, TEXT("바닥 무시: StaticMeshActor_1")); 로그 이후에도"공격 취소" 로그가 출력되며 CancelAttack()이 호출됨.🧨 원인 분석한 번 continue로 무시된 같은 바닥 액터가 이후 로직에서 다시 감지됨.CanBeCut() 또는 인터페이스가 없는 경우 else 문으로..

언리얼 엔진 2025.05.29

Unreal Character - 캐릭터 공격 판정 시스템 구현 정리

✅ 공격 트레이스 방식 개선최종 구현: LineTrace 다중 분할 방식 사용프레임 간 손실을 줄이기 위해 이전 프레임 위치와 현재 프레임 위치를 5단계로 보간하여 추적을 수행합니다. 이는 고속 움직임 시 단일 트레이스로는 놓칠 수 있는 충돌을 보완하며, 전체적인 판정 정확도를 높이면서도 성능 부담은 최소화할 수 있는 절충안입니다.DrawDebugLine, DrawDebugSphere를 통해 디버깅 시각화 가능최종 트레이스 방식 코드 예시void UDW_SwordAttackNotify::NotifyTick(...) { // 중략... // 5단계 보간 루프 const int32 NumSteps = 5; for (int32 i = 0; i (i) / (NumSteps - 1); ..

언리얼 엔진 2025.05.29

Unreal Character - 락온 시스템 구현

개요이번 포스트에서는 언리얼 엔진 5를 활용해 구현한 락온 시스템(Lock-On System) 에 대해 소개합니다. 이 시스템의 목적은 화면 중심에 가장 가까운 적을 자동으로 락온하고, 카메라와 캐릭터가 타겟을 따라가도록 만드는 것입니다. 또한 락온 중에는 전환 키를 통해 우측에 위치한 다음 타겟으로 전환할 수 있고, 언제든지 락온을 해제할 수 있습니다. HUD 위젯을 활용해 시각적 피드백도 제공합니다.✅ 시스템 목표 요약화면 중심에 가까운 적을 자동 락온락온 시 캐릭터와 카메라가 타겟을 따라감락온 중 전환 키로 우측 타겟 순차 전환락온 중 해제 가능UI 위젯을 통한 타겟 마커 표시📁 주요 멤버 변수 (ADW_CharacterBase)bool bIsLockOn = false; ..

언리얼 엔진 2025.05.29

Unreal Engine - 오픈월드 개발 기술스택: World Partition과 PCG

🔎 개요언리얼 엔진 5.5에서는 대규모 오픈월드 개발을 위한 강력한 기능들이 포함되어 있습니다. 특히 World Partition 시스템과 PCG(Procedural Content Generation)는 대규모 맵을 보다 효율적으로 설계하고 관리할 수 있게 해주는 핵심 기술입니다.이 문서에서는 각각의 기술 개념, 장점, 활용 방식에 대해 자세히 정리합니다.🌍 World Partition (월드 파티션)✅ 개념World Partition은 기존의 World Composition 시스템을 대체하는 새로운 오픈월드 관리 시스템입니다. 전체 레벨을 자동으로 일정한 크기의 셀(cell) 단위로 나누는 그리드 기반 구조로 분할하며, 플레이어 위치와 시야에 따라 해당 셀만 스트리밍(로드)합니다.예를 들어, 플레이..

언리얼 엔진 2025.05.21