파티클과 사운드로 게임 효과 연출하기 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
파티클과 사운드로 게임 효과 연출하기 파티클 시각 효과 추가하기 1️⃣ 파티클 시스템 (Particla System) 기본 개념 이해하기파티클 시스템이란?파티클 시스템 (Particle System)은 게임 내에서 불꽃, 연기, 폭발, 먼지 등 다양한 시각적 효과를 구현하기 위한 도구입니다.파티클은 다수의 작은 ‘입자’ (Particle)들이 모여 움직이면서 특정한 모양, 색상, 혹은 애니메이션 효과를 만들어냅니다.언리얼 엔진에서는 파티클 시스템을 사용해 효과적인 VFX (Visual Effects) 를 구현할 수 있도록 풍부한 기능을 제공합니다.Cascade vs. NiagaraCascade: 언리얼 엔진 3 시절부터 제공된 오래된 파티클 편집 툴입니다. 언리얼 엔진 4, 5에서도 여전히 호환되지만,..
UI 애니메이션 효과 및 3D 위젯 UI 구현하기 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
UI 애니메이션 효과 및 3D 위젯 UI 구현하기 UI 애니메이션 효과 디자인하기 1️⃣ UMG와 Animation에 대해 이해하기언리얼 엔진에서는 UI를 만들 때 주로 UMG (언리얼 모션 그래픽스, Unreal Motion Graphics)를 사용합니다. UMG에는 Animation 기능이 탑재되어 있어, 예를 들어 버튼이 클릭될 때 색이 바뀌거나, 텍스트가 화면 위로 등장했다가 사라지는 등 다양한 연출을 쉽게 구현할 수 있습니다.Animation 패널UMG 에디터 내에서 메뉴 상단에서 Window - Animations를 클릭하면 애니메이션을 다루는 창이 뜹니다.UMG 에디터 왼쪽 하단 (기본 레이아웃 기준)에 위치한 패널입니다.여기서 새 애니메이션을 생성하거나, 이미 만든 애니메이션을 선택해 타..
게임 흐름에 맞춘 메뉴 UI 구현하기 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
게임 흐름에 맞춘 메뉴 UI 구현하기 게임 메뉴 UI 디자인하기 1️⃣ 메뉴 위젯 생성하고 버튼 추가하기그동안은 게임 중에 나오는 위젯을 설계했다면, 이번에는 게임을 일시적으로 중단하고 시작하거나 종료하는 메뉴 위젯을 만들어보도록 하겠습니다.Content Browser에서 UI - Widgets 폴더에서 마우스 우클릭 → User Interface → Widget Blueprint 선택합니다. 새로 생성되는 위젯의 이름은 WBP_MainMenu라고 지어 주세요.더블 클릭하여 열면, 중앙에 Designer 탭, 오른쪽에 Details 탭, 왼쪽에는 Hierarchy & Palette가 보입니다.Canvas Panel을 놓아서 기본적인 바탕을 마련합니다.그 아래에 Border을 생성해서 바탕을 투명도를 주..
UI 위젯 설계와 실시간 데이터 연동하기 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
UI 위젯 설계와 실시간 데이터 연동하기 | [언리얼 엔진 C++ (Unreal Engine C++)] UMG (User Widget) 위젯 기초 디자인 이해하기 1️⃣ HUD (Heads-Up Display)란?HUD는 게임 내에서 플레이어에게 정보를 제공하기 위한 화면을 말합니다. 일반적으로 게임 중 화면의 일부에 배치되며, 플레이어가 현재 게임 상황을 이해하는 데 필요한 체력, 미니맵, 퀘스트 업데이트와 같은 데이터를 제공합니다.언리얼 엔진에서는 다음과 같은 HUD 시스템이 있습니다.Canvas 기반 HUD:AHUD 클래스를 상속하여 구현기본적인 2D 그리기 작업(텍스트, 이미지 등) 가능레거시 방식으로 간주되며, 간단한 HUD에 적합UMG (Unreal Motion Graphics):언리얼 엔진..
TA | 아이템 시스템과 게임 흐름 로직 구현하기 | 코드 카타 (Code Kata): 둘만의 암호 | TIL 35th | 캠프 34일 차 | 06/11/2026 (Thur)
·
TIL/Boot Camp
TA | 아이템 시스템과 게임 흐름 로직 구현하기 | 코드 카타 (Code Kata): 둘만의 암호 TA [Unreal Engine/TA] - [TA] TA - Technical Artist (테크니컬 아티스트)란? | [언리얼 엔진 C++ (Unreal Engine C++)] [TA] TA - Technical Artist (테크니컬 아티스트)란? | [언리얼 엔진 C++ (Unreal Engine C++)]언리얼엔진 공식문서 - 직무 가이드 살펴보기: https://www.unrealengine.com/tech-blog/jobs-in-unreal-engine---technical-artist?lang=ko 언리얼 엔진 직무 살펴보기 - 테크니컬 아티스트실시간 기술 관련 커리어를 찾devcol.tis..
게임 루프 설계를 통한 게임 흐름 제어하기 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
게임 루프 설계를 통한 게임 흐름 제어하기 GameState를 이용한 게임 루프 구현하기 게임루프: 보통 게임의 핵심적인 흐름을 얘기합니다. 즉 게임이 시작할 때부터 종료까지 수행하는 단계들게임플로우: 게임을 시작해서 진행하고 끝내는 과정에서 발생하는 모든 상호작용들 1️⃣ GameState와 GameMode언리얼 엔진에서 게임 루프나 전역 상태를 관리할 때 대표적으로 고려되는 클래스는 GameState와 GameMode가 있습니다.GameMode를 쓰는 이유는?서버 전용 로직을 담는 곳이며, 게임 규칙 (팀 배정, 승패 조건, 플레이어 스폰 등)을 서버에서 제어하는 데 사용됩니다.클라이언트는 GameMode에 직접 접근할 수 없습니다. 따라서 클라이언트도 알아야 하는 정보(예: 남은 시간, 현재 점수..
캐릭터 체력 및 점수 관리 시스템 구현하기 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
캐릭터 체력 및 점수 관리 시스템 구현하기 캐릭터 체력 시스템 구현하기 1️⃣ 캐릭터 클래스에 체력 변수 및 함수 선언PlayerState를 쓰지 않는 이유PlayerState: 각 플레이어마다의 어떤 정보를 관리해주는 클래스 언리얼 엔진에서 PlayerState는 주로 멀티플레이 환경에서 각 플레이어 간 데이터 동기화를 위해 사용합니다.예를 들어, 점수나 킬/데스 카운트처럼 서버와 클라이언트 모두가 공통으로 확인해야 하는 정보를 저장하죠.하지만 싱글 플레이 게임에서는 이런 동기화가 필요 없으므로, 캐릭터 클래스자체에 체력이나 스코어 변수를 넣어 관리해도 충분합니다.그럼에도 추후 확장성 생각하면 PlayerState 가 더 좋을 수 있지만 우선은 이렇게 합니다.캐릭터 클래스에 체력 관리 로직 추가싱글 ..
아이템 스폰 및 레벨 데이터 관리하기 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
아이템 스폰 및 레벨 데이터 관리하기 랜덤 위치에 아이템 스폰하기 1️⃣ 레벨 셋팅하기Resources 폴더에 Maps 폴더에는 3개의 레벨이 이미 존재합니다. 각각 난이도에 따라서 크기가 다른 맵이고, BasicLevel- Intermediate Level- Advanced Level 순서로 크기가 작아집니다.위 3개의 레벨을 Content - Maps 폴더로 이동 시킨 후, 기존에 사용하던 MainLevel에서 BasicLevel을 기본 레벨로 지정합니다.Edit - Project Settings - Maps & Modes에서 Defaults Maps를 BasicLevel로 변경을 해줍니다.MainLevel은 삭제를 해줍니다. 2️⃣ 콜리전 컴포넌트로 스폰 영역 지정하기스폰 영역을 지정할 수 있는 ..
충돌 이벤트로 획득되는 아이템 구현하기 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
충돌 이벤트로 획득되는 아이템 구현하기 이전 포스팅에서는 클래스 구조만 짜고 로직은 비여있던 상태.이전 포스팅: [Unreal Engine/UE 기초] - 인터페이스 기반 아이템 클래스 설계하기 | [언리얼 엔진 C++ (Unreal Engine C++)] 인터페이스 기반 아이템 클래스 설계하기 | [언리얼 엔진 C++ (Unreal Engine C++)]인터페이스 기반 아이템 클래스 설계하기 인터페이스 이해하기1️⃣ 인터페이스란?인터페이스 (Interface)란 클래스 (또는 오브젝트)가 반드시 구현해야 할 함수 목록만을 미리 정의해 두고, 실제devcol.tistory.com 충돌 (Collision) 이벤트로 획득되는 아이템 구현하기 1️⃣ 충돌 (Collision) 이벤트 기반 아이템 획득 방식..
인터페이스 기반 아이템 클래스 설계하기 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
인터페이스 기반 아이템 클래스 설계하기 인터페이스 이해하기1️⃣ 인터페이스란?인터페이스 (Interface)란 클래스 (또는 오브젝트)가 반드시 구현해야 할 함수 목록만을 미리 정의해 두고, 실제 함수의 동작(구현 내용)은 해당 클래스를 상속받거나 구현하는 쪽에서 자유롭게 작성할 수 있도록 하는 일종의 계약서입니다.C++에서는 UInterface를 상속받아 IItemInterface 같은 인터페이스를 만들 수 있으며, 언리얼 블루프린트에서도 “블루프린트 인터페이스”를 통해 비슷한 개념을 구현할 수 있습니다.즉 중요한 것은 함수의 구체적인 행동은 클래스에서 알아서 처리하는 것인터페이스 = 규격을 정해주는 것.주의할 점: 미래를 예측해서 너무 많이 만들어 두지 말자 2️⃣ 상속 (Inheritance)과의..