분류 전체보기 86

26.06.24 TIL / 3D 게임 개발 챕터4 정리 완료, 과제 5번 준비

오늘 C++와 Unreal Engine으로 3D 게임 개발 정리 완료https://jh009.tistory.com/85 C++와 Unreal Engine으로 3D 게임 개발 4-34-3. UI 애니메이션 효과 및 3D 위젯 UI 구현하기 1. UI 애니메이션 효과 디자인하기 UMG와 Animation에 대한 이해언리얼 엔진에서는 UI를 만들 때 주로 UMG 사용 (Unreal Motion Graphics)UMG에는 Animation 기능이jh009.tistory.com https://jh009.tistory.com/86 C++와 Unreal Engine으로 3D 게임 개발 4-44-4. 파티클과 사운드로 게임 효과 연출하기 1. 파티클 시각 효과 추가하기 파티클 시스템 (Particla System) 기..

본 캠프 TIL 2026.06.24

C++와 Unreal Engine으로 3D 게임 개발 4-4

4-4. 파티클과 사운드로 게임 효과 연출하기 1. 파티클 시각 효과 추가하기 파티클 시스템 (Particla System) 기본 개념 이해 게임 내에서 불꽃, 연기, 폭발, 먼지 등 다양한 시각적 효과를 구현하기 위한 도구다수의 작은 입자 (Particle)들이 모여 움직이면서 특정한 모양, 색상, 혹은 애니메이션 효과를 만들어냄언리얼 엔진에서는 파티클 시스템을 사용해 효과적인 VFX (Visual Effects) 를 구현할 수 있도록 기능을 제공 Cascade / Niagara Cascade언리얼 엔진 3 시절부터 제공된 오래된 파티클 편집 툴 언리얼 엔진 4, 5 호환 가능 / 신규 기능 업데이트 → 주로 Niagara 위주로 이루어지고 있음상대적으로 간단하고 빠르게 결과를 볼 수 있음레거시 프로..

C++와 Unreal Engine으로 3D 게임 개발 4-3

4-3. UI 애니메이션 효과 및 3D 위젯 UI 구현하기 1. UI 애니메이션 효과 디자인하기 UMG와 Animation에 대한 이해언리얼 엔진에서는 UI를 만들 때 주로 UMG 사용 (Unreal Motion Graphics)UMG에는 Animation 기능이 탑재되어 있음→ 버튼이 클릭될 때 색이 바뀌거나, 텍스트가 화면 위로 등장했다가 사라지는 등 다양한 연출을 쉽게 구현 가능 Animation 패널UMG 에디터 내에서 메뉴 상단에서 Window - Animations를 클릭하면 애니메이션을 다루는 창이 뜸UMG 에디터 왼쪽 하단 (기본 레이아웃 기준)에 위치한 패널여기서 새 애니메이션을 생성하거나, 이미 만든 애니메이션을 선택해 타임라인을 확인Keyframe(키 프레임)특정 시간대에 UI 속성(..

26.06.23 TIL / 3D 게임 개발 강의 정리, 방어 코드 짜보기

오늘C++와 Unreal Engine으로 3D 게임 개발 정리https://jh009.tistory.com/81 C++와 Unreal Engine으로 3D 게임 개발 4-14-1. UI 위젯 설계와 실시간 데이터 연동하기 1. UMG (Unreal Motion Graphics) 위젯 기초 디자인 이해하기 HUD (Heads-Up Dispaly)게임 내에서 플레이어에게 정보를 제공하기 위한 화면게임 중 화면의 일부에 배jh009.tistory.com https://jh009.tistory.com/83 C++와 Unreal Engine으로 3D 게임 개발 4-24-2. 게임 흐름에 맞춘 메뉴 UI 구현하기 1. 게임 메뉴 UI 디자인하기 메뉴 위젯 생성하고 버튼 추가 UI 폴더 우클릭 → User Inter..

본 캠프 TIL 2026.06.23

C++와 Unreal Engine으로 3D 게임 개발 4-2

4-2. 게임 흐름에 맞춘 메뉴 UI 구현하기 1. 게임 메뉴 UI 디자인하기 메뉴 위젯 생성하고 버튼 추가 UI 폴더 우클릭 → User Interface → Widget Blueprint 선택 → 위젯 이름 설정 WBP_MainMenu Canvas Panel을 놓아서 기본적인 바탕 마련Border :Details - Size X → 1920, Size Y → 1080 Brush Color → RGB 색깔 선택 후, 맨 아래 A (투명도) 도 취향에 맞게 설정 Common - Button 위젯 → Start 버튼 하나만 Canvas Panel 아래에 두기Button 이름 → StartButton Alignment를 (0.5, 0.5)로 놓고 X, Y의 위치를 화면 크기의 절반으로 두면 가운데에 딱 ..

기초반 3강 / 컨트롤러, 총기 구현

폴더 정리BP_PlayerCharacter → Characters/Player/로 이동Characters 폴더 우클릭 → Update Redirector References 폴더를 나눠서 관리하는 이유:나중에 몬스터도 추가될 예정이기에 미리 분리해놓으면 헷갈리는 일이 줄어듦UPlayerInputConfigDataAsset C++ 클래스 만들기 New C++ Class → DataAsset 생성 → 이름설정 PlayerInputConfigDataAsset PlayerInputConfigDataAsset.h 내용 추가DA_PlayerInputConfig 인스턴스 만들기 Content/Input → Miscellaneous → Data Asset → 이름 설정 DA_PlayerInputConfig DA_Pla..

기초반 강의 2026.06.23

C++와 Unreal Engine으로 3D 게임 개발 4-1

4-1. UI 위젯 설계와 실시간 데이터 연동하기 1. UMG (Unreal Motion Graphics) 위젯 기초 디자인 이해하기 HUD (Heads-Up Dispaly)게임 내에서 플레이어에게 정보를 제공하기 위한 화면게임 중 화면의 일부에 배치플레이어가 현재 게임 상황을 이해하는 데 필요한 체력, 미니맵, 퀘스트 업데이트와 같은 데이터를 제공 언리얼 엔진의 HUD 시스템Canvas 기반 HUDAHUD 클래스를 상속하여 구현기본적인 2D 그리기 작업(텍스트, 이미지 등) 가능레거시 방식으로 간주되며, 간단한 HUD에 적합UMG (Unreal Motion Graphics) 언리얼 엔진의 Widget Blueprint를 이용한 UI 시스템더 직관적이고 강력한 HUD 디자인 가능다양한 위젯(Text, B..

26.06.22 TIL / C++, Unreal Engine 3D 게임 개발 챕터3 정리

오늘C++와 Unreal Engine으로 3D 게임 개발 챕터3 정리 끝 https://jh009.tistory.com/77 C++와 Unreal Engine으로 3D 게임 개발 3-33-3. 아이템 스폰 및 레벨 데이터 관리하기 레벨 셋팅하기 BasicLevel, Intermediate, Level Advanced Level 순서로 난이도에 따라 맵의 크기가 작아짐스폰 영역(Spawn Volume) 설정 방법가장 직관적이고 효율적으jh009.tistory.comhttps://jh009.tistory.com/78 C++와 Unreal Engine으로 3D 게임 개발 3-43-4. 캐릭터 체력 및 점수 관리 시스템 구현하기 1. 캐릭터 체력 시스템 구현하기 캐릭터 클래스에 체력 변수 및 함수 선언 Play..

본 캠프 TIL 2026.06.22

C++와 Unreal Engine으로 3D 게임 개발 3-5

3-5. 게임 루프 설계를 통한 게임 흐름 제어하기1. GameState를 이용한 게임 루프 구현 언리얼 엔진에서 게임 루프나 전역 상태를 관리할 때 대표적으로 고려되는 클래스 GameState, GameMode GameMode를 쓰는 이유서버 전용 로직게임 규칙 (팀 배정, 승패 조건, 플레이어 스폰 등)을 서버에서 제어하는 데 사용클라이언트는 GameMode에 직접 접근 X클라이언트도 알아야 하는 정보 (예시: 남은 시간, 현재 점수 등)를 GameMode에만 두면 복잡해짐멀티플레이를 고려할 때 많이 사용하는 방식중요 규칙 로직 → GameMode서버-클라이언트가 공통으로 알아야 하는 상태 → GameState GameState를 쓰는 이유게임 전반에 걸쳐 모든 플레이어가 공유해야 하는 상태를 담는 ..

C++와 Unreal Engine으로 3D 게임 개발 3-4

3-4. 캐릭터 체력 및 점수 관리 시스템 구현하기 1. 캐릭터 체력 시스템 구현하기 캐릭터 클래스에 체력 변수 및 함수 선언 PlayerState를 쓰지 않는 이유주로 멀티플레이 환경에서 각 플레이어 간 데이터 동기화를 위해 사용싱글 플레이 게임에서는 동기화가 필요 없음 캐릭터 클래스에 체력 관리 로직 추가 싱글 플레이 환경을 가정하여, 플레이어 캐릭터를 담당하는 SpartaCharacter 클래스에 체력 관리용 변수를 선언MaxHealth: 캐릭터의 최대 체력Health: 캐릭터의 현재 체력TakeDamage(): 데미지를 받았을 때 호출되는 함수, 내부에서 체력을 감소시키는 로직을 처리AddHealth(): 아이템 등을 통해 체력을 회복할 때 호출하는 함수, 내부에서 체력을 회복OnDeath(): ..