전체 글 114

인왕2 스킬 UI/UX 분석

UI 구성 1. 공용 스킬과 무기 전용 스킬의 분리인왕2의 스킬 UI는 한 화면 안에서 공용 성장과 무기 숙련 성장을 동시에 보여주는 구조를 가지고 있다.스크린샷 기준으로 보면, 중앙의 빨간 원 안에 배치된 4개의 스킬과그 바깥을 둘러싸고 있는 무기 아이콘 기반의 스킬들이 명확하게 구분되어 있다.빨간 원 안에 위치한 스킬들은 어떤 무기를 사용하더라도 공통으로 적용되는 스킬로,내 캐릭터가 회피, 공격, 요괴 기술 사용 등 행동을 할 때마다 스킬 포인트가 누적되는 구조다.즉, 특정 무기를 고집하지 않아도 자연스럽게 성장하며,캐릭터 자체의 기본 전투 능력을 강화하는 축에 해당한다.반면, 바깥쪽에 배치된 스킬들은 각 무기 고유의 스킬로 구성되어 있다.이 스킬 포인트는 해당 무기를 직접 사용해 숙련도를 쌓아야만 ..

게임/인왕2 2026.01.05

인왕 2 전투 UI/UX 분석

인왕2를 선택한 이유. 인왕은 소울라이크RPG 장르중에 가장 내가 할 수 있는 플레이가 많은 게임이라고 생각한다. 관리해야되는 자원도 많고, 사용할 수 있는 기술도 많은만큼 HUD에 많은 정보가 필요하다고 생각한다. 그런부분에서 플레이를 할 때 이 많은 정보때문에 불편할 수 있지만. 실제로 플레이를 해보면 의외로 정보과다의 느낌이 없고, 내가 여유있는만큼 정보를 받기 편했다. 여러 게임의 UI를 생각하다 이 점이 신기해서 분석을 해보려 한다.UI 개요1. Character & Monster, Monster Statuses플레이어 캐릭터와 몬스터는 항상 화면의 중심에 위치하며,플레이어의 조작과 판단이 이루어지는 기준점 역할을 한다.적 캐릭터와의 거리, 공격 모션, 피격 여부 등전투에서 가장 중요한 정보가 ..

게임/인왕2 2026.01.02

블랙보드 설정과 비헤이비어 트리로 AI행동패턴 만들어보기

블랙보드란?블랙보드는 AI가 판단을 할 때 필요한 변수들을 담아놓는 박스라고 간단하게 이해하면 편하다.이런식으로 블랙보드에 여러 키 값을 만들어놨습니다.TargetActor에는 저번에 썼던 퍼셉션을 이용해 찾은 대상을 넣어줄겁니다.AI 퍼셉션void AWeaponMasterAIController::EvaluateTargetPriority(){ if (!IsValid(GetPawn())) return; if (ABossCharacter* Boss = Cast(GetPawn())) { if (Boss->IsAttacking()) { return; } } TArray PerceivedActors; AIPerception->GetCurrentlyPerceivedActors(UAISense_Sight::..

언리얼 공부/AI 2025.05.01

네비게이션 메시

Navigation Mesh란 무엇인가?Navigation Mesh는 캐릭터가 이동할 수 있는 공간을 정의한 지도다.흔히 자동차에서 자주 쓰이는 네비게이션의 AI버전 이라고 생각해도 좋다.길 찾기(Pathfinding)의 기반이 되는 데이터 구조며 NavMeshBoundsVolume이라는 박스 형태의 볼륨 안에서 바닥 표면을 분석하여 이동 가능한 구역만 녹색으로 표시해주는 시스템이다.NavMesh가 AI에게 필요한 이유AI캐릭터가 목적지로 이동할 때 장애물을 피하거나, 점프가 불가능한 곳을 인식하려면 이동 경로 정보가 있어야한다.만약 없다면? AI가 직선경로로 특정 위치로 이동을 하게 돼 벽을 뚫어버리거나 아니면 벽에 막힌 채 그냥 계속 벽에 비비게 될 것 이다. NavMesh를 배치하는 방법1. 액터 ..

언리얼 공부/AI 2025.04.25

Mixamo에서 애니메이션 가져오기 및 리타겟팅

애니메이션 가져오기https://www.mixamo.com/#/ Mixamo www.mixamo.com믹사모에 가면 여러가지 무료 애니메이션들이 있다. 이 때 내가 원하는 애니메이션을 찾을 수 있는데 그걸 들고와서 언리얼에서 내가 사용하는 스켈레탈 메쉬에 리타겟팅을 해 적용하는 방법까지 알아보겠다. 1. 다운로드 받기다운로드를 누르면 선택지가 4개가 뜬다.이 중 프레임은 무엇인지 알거고 Key Reduction은 여기 있는 키 프레임을 축소할건지 물어보는건데 미미하다.우리가 신경쓸건 2개. Format과 Skin이다.Format 옵션설명추천 사용상황FPX Binary바이너리 형식으로 저장됨. 용량이 작고 빠름. 대부분의 툴에서 가장 호환성이 좋음어디서든 권장FBX ASCII사람이 읽을 수 있는 텍스트 형..

언리얼 공부 2025.04.09

AI Perception

참고 : https://dev.epicgames.com/documentation/ko-kr/unreal-engine/ai-perception-in-unreal-engineAI Perception이란?AI의 탐기지술들을 정의해놓은 컴포넌트로 시각, 청각, 촉각, 팀, 데미지 등을 처리하는 컴포넌트인거 같다.그래서 자세히 찾아봤다.정의AI Perception Component는 AI가 외부 세상을 인식할 수 있도록 도와주는 감지 시스템 구성요소1. UAIPerceptionComponentAI에게 감지 능력을 부여하는 컴포넌트.(AI Controller에 부착가능)2. UAISense_*시리즈(감각 종류)감각설명Sight시야 범위 내의 액터 감지(시야 거리, 각도 등 지정 가능)Hearing액터가 소리를 낼 ..

언리얼 공부/AI 2025.04.02

남의 블루프린트 읽는공부

게임 템플릿우선 나는 템플릿을 받아서 버그를 수정해 사용하려고한다. 게임 템플릿이란 게임 개발 시 기본적인 구조와 기능을 제공하는 미리 만들어진 프레임 워크나 샘플 프로젝트를 의미한다.그래서 내가 분석할 템플릿은https://www.fab.com/listings/1516c689-17c3-4299-9589-f4bb4b3faca8이거다. 캐릭터캐릭터 펼쳐보기 보기만 해도 어지럽다... 어디서부터 시작해야될 지 모르겠다. 그렇다면 어떻게 봐야할까?순서대로처음에는 좀 적은 노드를 가진 구역부터 중간부터 봤었는데 뭔가 빙글빙글 돌다가 뭐가 뭔지도 모르고 시작했던곳으로 돌아오거나 했다. 이러다가는 답도없을거같아 더는 뒤로 갈수없는 BeginPlay부터 시작하도록 해야겠다.BeginPlayEvent BeginPlay..

언리얼 공부 2025.03.31

비헤이비어 트리

비헤이비어 트리란?언리얼 엔진에서 비헤이비어 트리(Behavior Tree)는 AI 캐릭터의 의사결정(Decision Making)을 시각적으로 설계할 수 있게 도와주는 트리 기반의 시스템이다.이렇게 들으면 뭔가 긴가민가 할텐데 대충 AI가 어떤 행동을 어떤 조건에서 할지 "트리 구조"로 순서와 우선순위를 설정하는 시스템 이라고 생각하면 편하다언리얼 공식문서의 자료다.주요 노드 종류노드 타입설명Selector자식 노드를 순서대로 실행, 성공하는 노드가 하나라도 Sequence자식 노드를 순서대로 실행, 하나라도 실패하면 전체 실패Task실제로 무언가를 수행하는 행동(공격하기, 걷기 등)Decorator조건 체크(ex: 체력이 50% 이상일 때만 실행)Service계속 반복해서 체크하는 것(ex: 적 위치..

언리얼 공부/AI 2025.03.25

멀티플레이 객체 생성 순서 & 동기화 흐름

기본 개념 정리클래스역할서버/클라이언트GameMode게임 규칙, 시작/종료, 승리 조건 등 관리서버 전용GameState게임의 전체 상태 공유모두 공유(서버에서 생성 -> 클라에 복제)PlayerState각 플레이어의 정보(이름, 점수, 역할 등)모두 공유(서버에서 생성 -> 클라에 복제)PlayerController입력 처리, UI 호출, 서버와 상호작용서버/클라 각각 존재Pawn/Character실제 월드에 있는 플레이어 캐릭터서버에서 소유 후 클라에 복제 생성&동기화 흐름1. 서버가 월드를 시작할 때 GameMode가 생성됨GameModeBase는 서버에서 단 하나만 생성됨.이 때 GameStateBase도 함께 생성된다.(GameMode가 GameStateClass를 참조해서 생성).GameMod..

언리얼 공부 2025.03.21

RPC 이해하기

RPC란?RPC( Remote Procedure Call )는 네트워크 환경에서 한 시스템(클라이언트)이 다른 시스템(서버)에 함수를 실행해 달라고 요청하는 방식. 쉽게 말해서, "클라이언트가 서버의 함수를 직접 호출할 수 있도록 해주는 개념"이다.언리얼 엔진에서 RPC의 역할언리얼 엔진에서 RPC는 서버와 클라이언트 간 데이터 동기화 및 함수 호출을 위해 사용된다.특히, 멀티플레이어 게임에서는 필수적인 기능이다!RPC 유형호출 방향사용 예시Client RPC서버 -> 클라이언트서버에서 클라이언트의 UI 업데이트 요청Sever RPC클라이언트 -> 서버플레이어 입력을 서버로 전달Multicast RPC서버 -> 모든 클라이언트이펙트, 애니메이션 동기화RPC 예시보드게임 Bang을 아신다면 이해하실 수 있..

언리얼 공부 2025.03.19