분류 전체보기 36

C++을 사용한 언리얼엔진 인벤토리 시스템 Final

1. 오늘의 개발 개요공간 인벤토리 시스템의 마지막 파트입니다. Part 4에서 완성한 백엔드 배열 로직 위에 사용자가 직접 조작할 수 있는 드래그 & 드롭, 아이템 회전(R키), 드롭 위치 가이드 시각화(초록/빨강 박스)를 구현하고 아이템 중첩 버그를 수정하며 시스템을 완성했습니다. 2. 아이템 회전 — ItemBase::Rotate() bIsRotated 플래그로 회전 상태를 추적하고, Rotate()를 호출할 때마다 Dimensions의 X·Y를 서로 교환합니다. GetIcon()은 회전 상태에 따라 일반 아이콘과 회전 아이콘을 구분해 반환합니다.// ItemBase.h — 회전 관련 추가 멤버bool IsRotated = false;void Rotate();UPROPERTY(EditAnywher..

Unreal 2026.03.24

UE5 C++ | Actor 좌표 이동·회전 구현

오늘 한 것언리얼 엔진 C++ 과제로 Actor의 좌표 이동 및 회전 시뮬레이션을 구현했다.BeginPlay()에서 랜덤 이동과 회전을 10회 반복하고, 매 스텝마다 좌표를 화면에 출력하는 구조다.도전 기능까지 포함해 50% 확률 이벤트 시스템과 10회 종료 후 결과 리포트도 완성했다. 구현 구조 요약AMyActor├── BeginPlay() ← 10회 루프 실행├── Move(float Distance) ← X축 이동 + 좌표 로그├── Turn(float Angle) ← Yaw 회전 + 각도 로그└── TriggerEvent() ← 50% 확률 이벤트헤더 (MyActor.h)UCLASS()class MYPROJECT_API AMyActor : public AActor{..

코딩 2026.03.23

C++을 사용한 언리얼엔진 인벤토리 시스템 Part.6

1. 오늘의 개발 개요인벤토리 시스템의 핵심 UX인 드래그 앤 드롭(Drag & Drop) 기능을 완성했습니다. 아이템을 마우스로 집어서 인벤토리 바깥에 드롭하면 월드에 스폰되고, 다시 캐릭터가 위를 지나가면 줍는 전체 사이클이 동작합니다. UE5의 Widget 입력 이벤트 시스템(FReply, DragDropOperation, Payload)을 처음으로 직접 다뤘고, 구현 과정에서 발생한 버그 5가지를 수정했습니다. 2. 개발 환경엔진Unreal Engine 5.5언어C++IDEVisual Studio 2022주요 수정 파일InventoryWidget, ItemWidget, InventoryComponent, IB_AK47/Knife/Grenade 3. 드래그 중 카메라 회전 문제 수정 인벤토리를 열..

Unreal 2026.03.20

TIL — Git 협업 기초

TIL — Git 협업 기초1. 오늘 한 것스파르타 UE5 부트캠프의 Git 협업 기초 강의를 수강하며 GitHub 레포지토리를 직접 세팅하고, 팀원 상황을 로컬에서 시뮬레이션하여 fetch, pull, branch, merge, conflict 해결까지 전 과정을 실습하였습니다.실습 레포지토리: https://github.com/taitop23-blip/TeamProject GitHub - taitop23-blip/TeamProjectContribute to taitop23-blip/TeamProject development by creating an account on GitHub.github.com2. 배운 내용2.1 실습 환경 세팅GitHub에 TeamProject 레포를 Public으로 생성하고..

git 2026.03.19

C++을 사용한 언리얼엔진 인벤토리 시스템 Part.5

1. ItemBase — 아이콘 변수 추가 인벤토리 UI에 아이템 이미지를 표시하려면, 각 아이템이 자신의 아이콘을 가지고 있어야 합니다. AItemBase에 아이콘 변수와 Getter를 추가했습니다. 왜 UTexture2D가 아닌 UMaterialInterface?텍스처를 직접 쓰면 회전·색조 변화 같은 효과를 주기 어렵다. 머티리얼로 감싸면 파라미터 하나로 회전 애니메이션, 색 보정 등을 자유롭게 적용할 수 있다.// ItemBase.h// protected 영역에 추가UPROPERTY(EditAnywhere, Category = "Item Info | Icon")UMaterialInstance* Icon;// public 영역에 Getter 선언UMaterialInstance* GetIcon(); ..

Unreal 2026.03.18

[C++] 인벤토리 시스템 구현— Project HW03

1. 오늘의 개발 개요게임 내에서 아이템, 무기, 포션 등 다양한 데이터를 담을 수 있는 범용적인 데이터 보관함(Inventory)을 설계하고 구현했습니다. 데이터를 정의하는 Item 클래스를 먼저 설계하고, C++의 템플릿(Template)과 동적 메모리 할당을 활용해 어떤 데이터든 담을 수 있고 스스로 크기가 늘어나는 인벤토리를 완성했습니다. Item 기초 설계➔Inventory 템플릿 구현➔메모리 확장(Resize) 구현➔Main 구동 및 테스트2. 프로젝트 환경 설정개발 환경Visual Studio 2022솔루션HW03.sln소스 파일Item.h, Item.cpp, Inventory.h, main.cpp (총 4개 파일)3. 핵심 구현 1: Item 클래스 (데이터 객체)인벤토리에 담길 알맹이인 ..

코딩 2026.03.17

STL Vector / 고정폭 정수형 / enum class

Part 1. std::vector — 동적 배열 개념데이터 개수가 늘어남에 따라 자동으로 메모리를 관리해주는 배열.내부 데이터는 연속된 메모리 공간에 저장되며, 인덱스로 임의 접근(Random Access)이 가능하다.메모리 해제도 내부적으로 처리해주므로 delete[]를 직접 호출할 필요가 없다.일반 배열(int arr[10])과 달리, 크기를 런타임에 자유롭게 늘리거나 줄일 수 있다. STL의 다른 컨테이너들(Map, Set, Stack 등)도 비슷한 철학으로 설계되어 있다. 핵심 API 정리함수동작주의사항push_back(val)맨 뒤에 요소 추가capacity 초과 시 재할당 발생pop_back()맨 뒤에 요소 제거빈 벡터에서 호출 시 런타임 오류size()현재 저장된 요소 수 반환 capac..

코딩 2026.03.16

C++을 사용한 언리얼엔진 인벤토리 시스템 Part.4

1. 오늘의 개발 개요 Part 3에서 아이템 클래스와 오버랩 감지를 완성한 데 이어, 이번 파트에서는 인벤토리 시스템의 핵심 백엔드 로직을 구현했습니다. 아이템 크기(FIntPoint Dimensions) 정의부터, 1차원 배열을 2차원 그리드로 매핑하는 좌표 변환, 공간 가용성 체크, 실제 배열 등록까지 완성했습니다. 2. 아이템 크기 정의 — FIntPoint Dimensions 각 아이템이 인벤토리 그리드에서 차지하는 칸 수를 FIntPoint로 선언했습니다. FVector2D와 유사하지만 정수형(X, Y)이라 타일 인덱스 계산에 적합합니다. EditAnywhere로 노출해 블루프린트마다 개별 설정이 가능합니다. // ItemBase.hprotected: UPROPERTY(EditAnyw..

Unreal 2026.03.13

C++을 사용한 언리얼엔진 인벤토리 시스템 Part.3

1. 오늘의 개발 개요공간 인벤토리 시스템의 세 번째 파트입니다. 이전 파트에서 인벤토리 그리드 UI의 시각적 요소를 완성한 데 이어, 이번에는 게임 월드에 실제로 존재하는 아이템 클래스를 구현하고 캐릭터와의 충돌(Overlap) 감지 로직을 연결했습니다. *식자는 프로젝트 이름을 설정할 때 오타를 내서 IntentorySystemCpp로 만들어버렸지만 나중에 알아버려서 이는 굳이 수정하지 않겠습니다.2. 프로젝트 파일 구조ItemBase.h / .cpp아이템 부모 클래스. Mesh + SphereComponent 정의IB_AK47 / Knife / GrenadeItemBase를 상속한 개별 아이템 C++ 클래스InventoryComponent.h / .cppColumns, Rows, TileSize 보..

Unreal 2026.03.12

[C++] 전직 & 전투 시스템 구현— Project HW02

1. 오늘의 개발 개요캐릭터의 성장과 재미를 결정짓는 핵심 요소인 전직(Job Change) 시스템과 전투(Battle) 로직을 설계하고 구현했습니다. C++의 클래스 상속과 다형성을 적극 활용해 확장 가능한 구조를 목표로 잡았고, Visual Studio 2022 환경에서 HW02 솔루션을 구성하며 빌드 파이프라인도 함께 정비했습니다.2. 프로젝트 환경 설정 개발 환경 Visual Studio 2022 (Version 17.14) 솔루션 HW02.sln 소스 파일 Player, Warrior, Magician, Monster, Main (총 9개 파일) 3. 클래스 구조 설계공통 속성과 인터페이스를 Player 베이스 클래스에 집중시키고, 직업별 특성은 파생 클래스에서 구현했습니다. attack()은 ..

코딩 2026.03.11