
📍 Unreal 게임개발종합반 1주차발종합반 1주차 5강, 7강 게임의 뼈대 역할을 하는 Gameplay Framework의 주요 요소들을 정리했고, 레벨의 종류별로 구현 가능한 기능들도 살펴보았다. 게임을 플레이할 때 자연스럽게 이어지는 맵들이 사실은 레벨 전환

📍 Unreal 게임개발종합반 1주차발종합반 1주차 8강 캐릭터의 움직임을 구현하기 위해 캐릭터에 필요한 컴포넌트를 추가하고, 행동을 제어하는 Input Action과 Input Mapping Context를 설정했다. 이 과정까지는 캐릭터가 걷거나 뛰는 자연스러운
📍 Live : 블루프린트를 이용한 비주얼 스크립팅블루프린트르 이용해 프로그래밍과 기본적인 개념 학습비주얼 프로그래밍 실습비주얼 스트립팅으로 간단한 게임 만들기언리얼 엔진에서 제공하는 비주얼 스크립팅 시스템으로 코드 없이 노드를 연결해 게임 로직을 구성할 수 있다.
애니메이션 블루프린트 캐릭터 생성 ABP_Character 애니메이션을 BP_Character가 레벨에 배치되었으므로 BP에 적용 시켜야 함 블루프린트에 애니메이션 적용하기 BPCharacter 가서 만들어놨던 ABPCharacter를 애님클래스 설정 ABP

👾 목표 적을 피하거나 처치하며 시간 내에 맵 최상위에 있는 포탈에 도달하면 클리어! 📌 기본 구조 1️⃣ 플레이어 Move, Jump, Look - IA / IMC / BS 근접 공격 또는 투사체로 적을 처치 가능 (선택) 떨어지면 시간 감소 2️⃣ 적 (AI

문제가 많이 있을거라 생각했지만 내 생각보다 매우 매우 많이 오류가 났다... 오류를 고치느라 꽤 많은 요소를 바꿨다 이상과 현실 사이.. 타이머 ➡ 떨어지면 respawn 하는 걸로 타협 문어 크기 별로 충돌 횟수 다르게 ➡ 그냥 충돌하기 적에게 일정 횟수 피격 ➡

이미 과제를 제출해서 오전에는 언리얼 엔진 단축키와 W3Schools을 조금 봤고 오후부터 밤까지는 특강을 들었다.뷰포트에서Ctrl + B 콘텐츠 브라우저에서 원하는 asset 찾아줌Ctrl + E 클릭한 asset의 창 or BP 열림Ctrl + 1 / Ctrl +

오늘 아침엔 알고리즘 특강을 듣고 처음으로 코딩 테스트를 경험해봤다. 어제 배운 내용을 바탕으로 GitHub에 알고리즘 코드카타 레포지토리를 만들고, 파일도 직접 추가해보았다. 좀 익숙해진 것 같다! 아직 C++ 강의를 듣지 않아서 문제를 풀 땐 페이지에 있는 정답을

💭 어제에 이어 오늘 아침 라이브 세션도 알고리즘 특강이었다. 뇌를 컴퓨터처럼 만드는 느낌이다. 아직은 그 사고 흐름이 낯설어서 한 번 더 강의를 들어야 할 것 같다. 코드 카타도 풀었지만 자꾸 막혀서 얼른 C++ 강의를 들어야겠다... 문제를 풀면서 새로 알게 된
오늘은 강의가 없고 바로 코드 카타를 했다. 오늘 풀어야 할 문제가 어려워서 스크롤을 내렸는데 라는 제목이 귀여워서 양꼬치 문제를 풀었다. 겸사겸사 튜터님께 헤더 파일 질문을 하러 갔다가 코드 실행이 안 돼서 코드 폴더를 다시 만들었다. 실행하는데 자꾸 오류가 나서
오늘은 짝수의 합을 풀었다.2, 4, 6, ... n2부터 시작해서 입력한 정수 n까지 2씩 증가하고 더하기강의는 어제까지 재밌었다가 오늘 어려워졌다...📎강의 자료 + 필기(https://www.notion.so/hozzy/1-1-200cf60eefb681
오늘은 배열의 평균값을 풀었다. 꽤 어렵다...int numbers\[]정수 배열 (리스트처럼 쓰는 거) size_t numbers_len배열의 길이 (몇 개 있는지) (double)sum / numbers_len 소수점 계산하려고 형변환 size_t 양수만 저장할
📚 TIL – C++ 기초 과제 정리 (배열, 함수, 컴파일, 입력 처리) ✅ 과제 요약 요구사항 사용자로부터 숫자 5개 입력 받기 → const int SIZE = 5 배열에 저장 → int numbers[SIZE] 합계 함수 구현 → calculateSum
📎 강의 자료 + 필기 상속 1️⃣ 기본 클래스 vs 파생 클래스 | 구분 | 설명 | 예 | | ---------------- | ---------------- | -----
[2번 과제] OPP Summary 요구사항 Animal이라는 기본 클래스를 정의 합니다. → class Animal{} Animal 클래스에는 makeSound()라는 순수 가상 함수를 포함합니다. → virtual void makeSound() = 0; Anima
OOP 과제하면서 혼자 공부하느라 어려웠던 내용이 2주차에 있었다... 📎 강의 자료 + 필기동적 할당 : 힙 메모리는 new 키워드를 사용하여 동적으로 할당, delete를 사용해 수동으로 해제단일 변수 = new type, delete배열 = new type\[]
[3번 과제] 템플릿 및 STL 도전 기능은 금요일 안에 할 수 있으면 추가 예정... 필수 기능 가이드 클래스의 이름은 SimpleVector라고 합니다. 타입에 의존하지 않고 데이터를 받을수 있는 배열을 멤버변수로 갖습니다. 생성자는 아래와 같이 구현 합니다.
📎\[CH2] 간단한 프로그래밍 구현 과제필수 기능만 구현했어서 풀이 강의를 보면서 도전 기능을 공부했다.사용자가 입력한 숫자 배열을 정렬하는 프로그램을 구현해보세요.정렬은 오름차순 정렬과 내림차순 정렬이 가능해야 합니다.숫자 1을 입력 받으면 오름차순 정렬, 숫자
[4번 과제] C++ Summary 요구사항 필수 기능 가이드 기존 도서관 관리 프로그램에 검색 기능을 추가해주세요 책 제목으로 검색이 가능해야 합니다. 작가로 검색이 가능해야 합니다. 책 제목이 동일한 경우는 없다고 가정 합니다. 필수 기능 구현 완료 후 전체적인

화요일, 목요일 2시간 동안 Basic반 수업을 듣는다.문법 강의를 보면서 이해했다고 생각했는데 수업을 들으니까 제대로 이해했던 게 아니라는 생각이 강하게 들었다...먼저 가장 기초인 함수는 이렇게 선언(정의)한다.선언한 함수들은 main함수 안에서 호출한다.C++ 안

그동안은 개념들을 따로따로 공부해서 서로 연결이 안 됐는데, Basic반에서 개념들을 연결해서 배우니까 이제 이해가 된다.아침에 풀었던 코드카타 문제 : <음양 더하기> if-else 조건문을 삼항 연산자로 만들 수 있을 것 같은데 아직 구조가 익숙하지 않아서 쉽
[4번 과제] C++ Summary 📎 [CH2] C++ Summary과제 요구사항 필수 기능 제목, 작가로 책 검색 가능 도전 기능 대여 기능 책 제목, 작가 이름으로 대여 여부 검색 후 대여가 아닌 경우 대여할 수 있게 반납 기능 재고 3권 동일 →
📎 \[CH2/02] OOP Summary 과제공통 속성 찾아내기기본 클래스 정의 필요한 부분 가상 함수로 지정순수 가상 함수 -> 추상 클래스, 파생 클래스에서 재정의서브 클래스 정의기본 클래스를 상속 받은 클래스들을 정의, 가상 함수를 재정의해 다양한 행동 구현A

Unreal Engine 활용 프로그램 제작 요구사항 개발 프로세스 가이드 1단계 : 액터 생성하기 언리얼 엔진에서 새로운 엑터를 생성합니다. 언리얼 엔진 동작시 엑터가 스폰(spawn)될 수 있도록 추가 합니다. 2단계 : 로직 설계하기 엑터가 스폰(spawn)

for문 일반적인 for문 인덱스를 사용해 배열이나 벡터의 각 요소에 접근하는 방식 → 인덱스가 필요하거나 수정 가능한 참조가 필요하다면 범위 기반 for문 대신 일반 for문을 사용하는 것이 좋음 범위 기반 for문 (range-based for loop) 배열이
가장 작은 수 제거하기 1️⃣ 원소가 하나만 있을 땐 [-1] 리턴하기 arr.size() == 1 체크 배열에 원소가 1개 → 제거하면 빈 벡터가 됨 그럴 땐 [-1] 하나만 담긴 벡터를 리턴해야 함 return {-1}; {-1} == vector{-1} -1
✅ s.substr(len / 2 - 1, 2) len / 2 문자열의 길이를 반으로 나누는 부분 문자열 길이가 4라면 len / 2는 2가 됨 len / 2 - 1 반으로 나눈 값에서 1을 빼는 부분 문자열 길이가 4일 때, len / 2는 2가
내적 두 벡터의 같은 위치의 숫자끼리 곱하고 합산함vector<int> a정수(int)들을 저장하는 벡터 a를 생성벡터: 배열이랑 비슷하지만 크기 자동 조절 됨int solution(vector<int> a, vector<int> b)정수 벡터 a, b
sqrt(i) i의 제곱근을 구한다제곱근은 약수의 개수가 홀수인지, 짝수인지 판단하는 기준그걸 int형으로 받아서 root에 저장root \* root == iroot를 제곱했을 때 다시 i가 나오면 i는 제곱수(예) 9의 제곱근은 3 3 \* 3 = 9if 조건문으로
1️⃣ cin >> a >> b;cin은 사용자 입력을 받는 도구a, b 두 변수에 순서대로 값 입력받음입력 전에 꼭 변수 선언이 필요함 → int a, b;2️⃣ int a; vs int a = 0;int a; 는 선언만 함 → 초기값 없음 (쓰면 위험)int a =

『 최후의 모발: 탈모 바이러스와의 전투 』 📖 프로젝트 소개 📆 제작 기간: 2025.06.20 ~ 2025.06.26 📜 프롤로그 > 세상의 머리카락이 > 사라지는 가운데, > > 유일한 희망은 당신에게 달려 있다. > > 마지막 모발을 지키기 위한 치열
언리얼 스타일 구조 도입AActor()와 UObject와 같은 언리얼 엔진에서 다루는 구조를 구현BeginPlay(), Tick() AActor()을 분리해 프로그램 라이프사이클을 제어하는 구조는 정~말 좋죠??UObjectBase 기반 구조화Run() → BeginP
언리얼 엔진 내 모든 클래스의 조상(뿌리)이 되는 클래스모든 클래스는 오브젝트 클래스를 상속 받음그러나 월드에 배치는 할 수 없음! (추상적 개념)플레이어의 스탯같이 시각적으로 보이지 않지만 어떤 데이터를 담는 구조 같은 건 오브젝트를 상속 받음월드에 직접 배치 가능좌

📎정수 내림차순으로 배치하기🔼 오름차순: 기본 std::sort(...)🔽 내림차순: std::sort(..., std::greater<type>())✅ 읽기 / 쓰기읽기 : 값을 가져올 수 있음 → \*it쓰기 : 값을 바꿀 수 있음 → \*it = 100
📍 1주차 6강 ~ 7강 Transform 종류 월드 좌표계 게임 월드 전체에서의 위치 (x=100, y=200, z=50)에 위치 → 이 좌표는 월드 좌표계에서 정의됨 로컬 좌표계 부모 객체를 기준으로 한 상대적인 좌표 자식 객체가 부모 객체의 좌표계 안에서 얼마나 떨어져 있는지 부모가 이동하면 자식도 같이 이동 부모 객체의 위치가 (100, 100...

📍 2주차 1강 ~ 2강 🛠️ 게임을 만들자 🛠️: 총괄 관리자 역할의 클래스1️⃣ C++ 클래스로 GameMode 만든다 → SpartaGameMode2️⃣ 블루프린트 상속 → BP_SpartaGameModeC++로 만든 GameMode 그대로 적용하는 것보다

코드카타 두 정수 사이의 합 구하기 long long을 사용하는 이유 a = 5,000,000, b = 10,000,000 같은 경우엔 합이 30조 이상 될 수 있음 int는 범위가 약 21억까지라서 overflow 발생 따라서 long long(64비트 정수) 써야

코드카타 문자열 내림차순으로 배치하기 정렬 함수 sort(s.begin(), s.end(), greater()) 문자열 s의 문자를 내림차순으로 정렬 대문자는 소문자보다 작게 취급됨 (대문자 ()` 의 () greater 는 함수 객체(Functor) 타입 g

코드카타 부족한 금액 계산하기 문자열 다루기 기본 s.length() 문자열의 길이 s[i] i번째 글자를 하나씩 꺼내서 for문 안에서 검사함 s[i] '9' 문자는 컴퓨터 안에서 숫자로 저장됨 → 9 아니라 '9' 📎ASCII Table 📍 3주차 2강
수정 예정회전 발판 구현슬라이딩 도어 구현시간 지연 후 폭발하는 탱크(드럼통) 구현Tick()에서 AddActorLocalRotation(RotationSpeed \* DeltaTime)으로 회전.FRotator 타입의 RotationSpeed를 UPROPERTY(Ed
GameMode 어떤 Pawn이 기본적으로 사용될지 설정(Default Pawn Class )하는 곳Character가 아닌 Pawn이어도 똑같이 필요게임에서 어떤 객체가 플레이어의 제어를 받을지 설정PlayerController게임 내 입력을 받아서 Pawn에 전달하

Unreal만의 데이터 타입 C++은 오래된 언어라 기본 데이터 타입의 크기가 환경마다 달라질 수 있는 단점이 있다. 그래서 언리얼 엔진에서는 int32, uint8 처럼 크기가 명확한 고정 타입을 만들어 사용한다. 이렇게 하면 메모리 최적화와 디버깅 효율이 높아지고,
📍 2025. 07. 08 수업 Unreal만의 데이터 타입 4. 스마트 포인터 타입 UObject 기반 클래스일 경우 언리얼이 GC(가비지 컬렉션)이 자동으로 관리해줌 → 스마트 포인터 쓸 필요 없음 가비지 컬렉션 쓰지 않는 메모리를 자동으로 정리해주는 시스템

📍 3주차 3강 7. 아이템 랜덤 스폰 및 레벨 별 각 아이템 확률 설정 각 아이템마다 확률을 설정해서 맵의 난이도가 올라갈 때마다 아이템 수를 늘린다거나 해서 난이도 조정 가능 랜덤 위치에 아이템 스폰하기 레벨 세팅 레벨 크기 : BasicLevel > Inte
📍 3주차 4강 8. 캐릭터 체력 및 점수 관리 시스템 구현하기 - 필요한 것 체력 시스템 아이템 사용 효과 적용 가능 점수 시스템 코인 점수 관리 8.1 캐릭터 체력 시스템 구현하기 PlayerState 각 플레이어 마다의 정보를 관리해주는 GameMod

📍 3주차 5강게임 루프 게임 시작 ~ 종료까지 수행하는 단계들게임 플로우 플레이어가 게임을 시작, 진행, 끝내는 과정에서 발생하는 모든 상호작용들 (레벨 전환 등)GameMode서버 전용 로직 처리 (클라이언트는 접근 불가)역할: 팀 배정, 승패 조건, 스폰 등 게

📍 4주차 1강플레이어에게 체력, 미니맵, 퀘스트 등 게임 정보를 화면에 보여주는 시스템언리얼 엔진에서는 두 가지 방식이 있음:Canvas 기반 HUDAHUD 클래스 상속텍스트, 이미지 등 2D 요소 직접 그리기레거시 방식이라 요즘은 잘 안 씀UMG (Unreal M

📍 4주차 2강 11. 게임 흐름에 맞춘 메뉴 UI 구현하기 11.1 게임 메뉴 UI 디자인 a. 메뉴 위젯 생성 & 버튼 추가 WBP_MainMenu 1️⃣ Canvas Panel (PANEL) 2️⃣ Border (COMMON) 뒤에 살짝 투명한 검정 배경

📍 4주차 3강 12. UI 애니메이션 효과 및 3D 위젯 UI 구현하기 12.1 UI 애니메이션 효과 디자인 a. GameOverText, TotalScoreText 추가 위치, 사이즈, 텍스트 수정하고 가운데 정렬까지 b. Text 위젯(UMG) 에 애니

📍 4주차 4강불꽃, 연기, 폭발 등 시각적 효과를 구현하는 도구여러 개의 작은 입자들이 모여 특정한 모양이나 애니메이션을 생성Cascade언리얼 엔진 3 ~ : 오래된 파티클 툴초급자가 배우기 쉽고 빠르게 결과를 보기 가능복잡한 VFX엔 무리Niagara언리얼 엔진
캐릭터가 무기를 교체 →무기 클래스에서 델리게이트 발생 →UI 위젯(C++)에서 델리게이트를 바인딩 →무기 이름/아이콘 갱신

“UI 레벨 분리형 구조”→ MainMenuLevel 에서 UI만 띄우고, 실제 게임은 다른 레벨로 넘어가는 방식→ 위젯은 BP로, 레벨 이동 및 게임 종료는 C++로 구현UMG 기반 위젯UI 전용 메뉴 레벨레벨 분기 로딩 (Open Stagel)QuitGame 처리P

위젯의 역할:화면에 표시되는 UI (WidgetComponent 아님!)마우스/키보드 입력을 받음메뉴 버튼 클릭, 설정 변경, 시작 버튼 등등 입력 처리→ \*\*이런 입력의 중심은 PlayerController가 담당같은 PlayerController를 여러 레벨에서

1\. Resume 버튼 = Resume_BTN게임 일시정지 해제 → SetPause(false)위젯 제거 → PauseMenuWidgetInstance->RemoveFromParent();인풋 모드 복구 → SetInputMode(FInputModeGameOnly()
삼총사 C++ 벡터와 인덱스를 통한 값 꺼내기 벡터 예시 | 인덱스(i) | 값 (number\[i]) | | ------ | -------------- | | 0 | -2 | | 1 | 3 | | 2
이해가 안돼서 ai한테 쉽게 설명해달라고 했다...t = 1 0 2 0 3p = "15" (길이 = 2)비교 과정 (칸 슬라이딩)시각 흐름string substr(size_t 시작위치, size_t 길이);문자열 자를 때 쓸 수 있는 함수시작위치가 문자열 길이보다 크면

추가 예정..................

맡은 UI 중에서 유일한 인게임이었는데 제일 많은 시간을 쓰고 수정도 엄청 했다...하나 연결하면 다른 부분 다 수정해야하고 무기 담당 조원분과 파일 충돌도 나고 다른 분의 파일에 코드를 추가하면서 혹시나 에러날까봐 노심초사 했다...📎 Weapon Data Asse

총기, 총알, 발사방식 정보가 나오는 인게임 UI를 만들었는데 총기가 준모님의 데이터 테이블로 연결되어 있어서 연결이 안됐다. 데이터 테이블이 내 담당이 아니어서 건들지 않는 방법으로...블루프린트로 만들었던 Primary Data Asset을 C++ 클래스로 만들고
\[CH3-05] GameOverWidget 구현, 델리게이트만들어놨던 GameOver가 조건에 충족해도 호출되지 않음게임 오버 위젯이 캐릭터 사망이나 타임오버 시 호출되지 않음위젯과 레벨을 새로 만들어 연결했으나 게임 오버 화면이 여전히 나타나지 않음처음에는 레벨과
게임 오버 시 GameOverWidget에 최종 점수를 제대로 표시하지 못하는 문제가 발생코드로 추가해도 안되고 블루프린트로 해도 안 됨...게임 오버 시점에서 점수가 APPPGameState에서 UPPPGameInstance로 제대로 전달되지 않음GameOverWid
개발 환경을 사전에 통일해 위험 요소 최소화원하는 역할을 맡아 만족스러운 역할 분배노션을 통한 일정·진행 상황 공유 → 빠른 파악 가능매일 저녁 회의를 통한 작업 피드백과 정리수업에서 배운 내용 실전에 적극 활용데이터 테이블 기반 총기 설계로 효율적인 구현팀원 간 자유
오늘부터 베이직반 A반이 시작됐다!오티 때 튜터님께서 A반의 목표와 생활 패턴을 정리해 주셨다.8/21: 대·소목차 정리8/22: 내용 채우면서 밑줄 긋기FPS 실습: 1회차 끝내기실습: 1회차실습: 2회차대·소목차 정리 및 1회독 진행아직 본격적인 내용 기록할 건 없
UPROPERTY언리얼 리플렉션(리플렉션 = 에디터나 블루프린트에서 속성 관리 가능) 시스템에 등록하겠다는 표시가비지 컬렉션 관리 + 에디터/블루프린트 연동 가능해짐meta = (BindWidget)UMG(언리얼 UI 블루프린트) 위젯에 있는 같은 이름의 위젯과 자동으

설명플레이어들끼리 직접 데이터를 주고받는 방식호스트가 별도로 존재하지 않거나, 한 명이 자동으로 호스트 역할 수행장점서버 비용 없음- 빠르게 연결 가능단점보안 취약(핵)핑 불안정호스트 나가면 게임 종료설명한 명의 플레이어가 서버를 직접 실행하며 동시에 게임에도 참여함장
로직이 서버랑 클라이언트 중 어디에서 돌고 있는지 확인 가능→ 이 게임 인스턴스가 네트워크에서 어떤 실행 모드인지 결정함UWorld::NetMode 에 들어있는 값NM_Standalone 네트워크 없음 (싱글플레이)NM_ListenServer 서버 + 동시에 플레이어N
서버에 스폰된 액터의 NetRole 값 = Authority의미: “권한을 가진 진짜 액터”게임의 핵심 로직(점수 증가, 아이템 생성, 데미지 처리 등)은 반드시 Authority에서만 실행해야 함서버의 액터가 클라이언트에 복제되면, 클라에서의 NetRole 값 = P

생성된 액터의 정보를 네트워크 내 다른 클라이언트에게 복제하는 작업기본 규칙 : 서버-클라이언트 모델에서는 서버 → 클라이언트로 복제쌍방 호출 가능 (Client↔Server)호출자(Client/Server) → 수신자(Server/Client)에게 함수를 원격 실행시
FMath는 함수가 아니라 struct언리얼 엔진에서 수학 관련 정적 함수(static function)들을 모아둔 수학 유틸리티 모음집직접 객체를 만들 필요 없음 → 그냥 FMath::함수이름() 으로 호출대부분 C++ 표준 수학 함수들을 언리얼 스타일로 묶어둔 거
“춤 → 공격” 게이트, 공격은 ServerRPC로만 동기화폴가이즈 느낌의 충돌·튕김, 물 체력 패널티, 유령(GameOver) 모드까지 흐름 확정애니 동기화: Dance, Attack, Slide, Glide, Swim, Walk, Run, Idle공격 동기화: 반드

믹사모에서 애니메이션 추출하기

필요한 동작들 IA 생성, IMC 연결 → 상범님께 토스TitleLevel 만들려고 했는데 아예 새로 만들어야 해서 기탁님께 부탁함내일 할 것 어택이랑 댄싱 연결 어떻게 할지 고민 title 배치할 때 블랜드 스페이스 안되니까 슬라이드하는 애들 어떻게 할 지 고민

애님 블루프린트 수정하고 BP에 연결하고 애님인스턴스 코드 추가
위젯 만들기시네 카메라 배치
오후에 프로젝트 복구하느라 하루를 다 날렸다~ 이제부터 할 일 ~TitleLevel 박스, 버튼 이미지 만들기타이틀 이미지 → 애니메이션버튼 이미지 만들기 \- Start / Quit / Ready / Back / Next버튼 애니메이션버튼 사운드, 배경 사운드
언리얼에서 "_C"가 붙는지 안 붙는지 차이는 클래스(Class) 참조냐, 애셋(Asset) 참조냐 차이예요. 위젯 블루프린트 (WBPTitleLevel.WBPTitleLevel_C) WBP_TitleLevel 👉 블루프린트 애셋 자체 WBPTitleLevelC

위젯 버튼 사운드

기탁님이 만들어두신 위젯 블루프린트에 이미지 추가하기 (HoverImage는 다른 걸로)채팅창은 TextBox채팅 로그는 Scroll Box근데 채팅로그가 흰색이고 얼음 배경이라 안 보여서 보더로 감싸기보더(0.1,0.1,0.1,0.5) - 반투명한 회색 배경 만들기

Alignment / Image Size / Desired 설정하기만든 블루프린트로 설정하기Unchecked Image → 기본 상태 (Normal)Unchecked Hovered Image → 마우스 올라왔을 때Unchecked Pressed Image → 누르는 중
캐릭터가 죽으면 → 메쉬 꺼지고 캡슐 충돌 꺼지고 MovementMode = Flying (이미 되어 있음)거기서 스페이스(점프 키) 로 상승하고 WSAD 키로 자유롭게 날아다니면서 구경 모드카메라는 블루프린트에 있으니까 C++에서는 굳이 건드리지 않고 조작 로직만 C

디자인 변경하기~그리고 토요일에 했던 관전자 모드가 사라졌다...내일 할 일메시 삭제해서 죽으면 데미지 안 받게시점 변경이동할 때 그득득득함하........
기존에 블루프린트에서 속도가 설정되어 있어서 슬라이드 시작하면 느리고 슬라이드 끝나고 걸으면 너무너무 느림... 해야할 것 1️⃣ 걷기 속도 고정하기 : 400 2️⃣ 슬라이드 조건 설정하기 Shift 누르기 (슬라이드 시작) CharacterMovement

하하하! 하루 아침에 사라졌던 관전자 모드 복구를 결국 해결했다!📎 \[CH4-09] 캐릭터 죽으면 관전자 모드로 변경하기이건 주말에 만들어놨던 관전자 모드...캐릭터가 죽으면 메쉬가 꺼지고 캡슐 충돌이 비활성화되며, MovementMode가 Flying으로 전환되도
💥 문제 상황 캐릭터가 땅을 보면 W/S 키(전진/후진)가 작동하지 않음 방향전환이 너무 느려서 전투 시 불편함 🔍 원인 분석 1. 이동 방향 계산 문제: 컨트롤러의 Pitch(상하 각도) 때문에 카메라가 아래를 보면 이동 벡터가 잘못 계산됨 2. 회전 속
💥 문제 상황 스피드 부스트 아이템을 사용한 후 슬라이딩이나 수영을 하면 부스트 효과가 사라지고 기본 속도로 되돌아가는 문제가 발생했다. 🔍 원인 분석 OnRepIsSliding() 함수에서 슬라이딩 종료 시 MaxWalkSpeed 를 하드코딩된 기본값(400)으

게임오버 화면에서 ScrollBox + 동적 TextBlock 생성 방식으로 랭킹을 표시한글 폰트가 지원되지 않아 "1위 : 닉네임" 형식에서 한글 부분이 깨짐동적 생성된 TextBlock들의 폰트 설정이 복잡하고 어려웠음폰트 설정을 위해 코드가 복잡해지고 유지보수가
💥 문제 상황 PNG 이미지를 UMG 위젯(Image) 에 넣었는데 원본 색상이 아닌 노란색이 덧입혀진 상태로 표시됨 Tint 값은 이미 흰색(255,255,255,255)으로 설정되어 있어서 문제 아님 Texture Details 창에서 sRGB 체크박스가 비
💥 문제 상황 Hidden Victory UI에서 승리자 표시가 "WINNER"로 고정되어 있음 타이틀 화면에서 입력해서 GameInstance에 저장된 실제 플레이어 닉네임이 표시되지 않음 15번 춤췄을 때 히든 승리 조건 달성 시 닉네임이 "PLAYER"로만
💥 문제 상황 레벨 블루프린트와 위젯 블루프린트에서 PlaySound2D로 배경음악 재생 메인메뉴레벨에서 히든승리UI로 전환 시 두 배경음악이 동시에 재생되는 문제 발생 🔧 해결 과정 : GameInstance 중앙 관리 방식 1. C++ 코드 구현 GameI

오늘 한 일 게임오버 위젯(WBP) 안에서 랭킹 리스트(메달+텍스트) 구현 UMG 레이아웃(VerticalBox 고정 6칸) + C++로 데이터 채우기 빌드 에러들(구조체 중복/정의 순서/헤더 누락) 해결 박스 크기/앵커/아이콘·폰트 사이즈 조정 위젯 구성(D
💭 원하는 것 캐릭터가 물에 들어가면 1초에 1씩 산소가 줄고, 산소가 0이 되면 체력이 2씩 줄어듦 물에서 나오면 산소가 점점 회복됨 구성 : 캐릭터 클래스에 산소 관리 변수, 타이머, 함수 구현 산소 수치 변화 시 UI를 HUD에 실시간으로 반영 🖥
패키징 후 테스트 중 계속 9분 47초에서 서버가 자동 종료됐다서버 빌드에 카메라, UI(UMG), 사운드 등 클라이언트 전용 코드가 포함되어 있었음전용 서버는 렌더링이나 오디오 처리를 지원하지 않기 때문에 이런 코드가 실행될 경우 Crash 또는 프로세스 종료로 이어
코드 수정 순서 1. GameMode 관련 코드 대표 게임 모드 클래스들 게임 진행, 룰, 세션 관리 등이 담긴 부분 2. PlayerController 관련 코드 모드별 또는 공용 PlayerController 클래스들 입력 처리, UI 호출, 로컬 플레이어 전용
히든 승리 조건이 춤 15회인데, E키를 5번만 눌러도 히든 승리 위젯이 나옴...증상 : E 한 번 누를 때마다 DanceCount가 2씩 증가하고 있었음E키 한 번 누를 때마다 DanceCount가 2씩 증가실제 카운트: 3 → 4 → 6 → 8 → 10 → 12
서버와 클라이언트 분리하니까 관전자 모드가 또 사라졌다...CharacterMovement 컴포넌트를 우회하기 때문에 MOVE_Flying 모드가 제대로 작동하지 않았다스페이스바를 길게 눌렀을 때 Started 이벤트가 반복 호출되어 자유비행 모드가 ON/OFF를 반복
🌟 KPT 회고 👍 Keep (잘하고 있는 것) 멀티플레이 환경에서 서버가 정상적으로 열리고, 여러 명이 동시에 접속해 함께 플레이할 수 있는 구조를 성공적으로 구현함. 완성도 있는 게임을 목표로 기획, 개발, 테스트를 체계적으로 진행하며 최종 결과물의 완성도를

드디어 CH4 발표를 했다!열심히 발표 준비를 했다...게임 칭찬을 많이 받아서 기쁘다!📎 Notion📎 시연영상📎 GitHub여기부터는 준모님께서 만들어주신 짱 멋진 PPT~
개발 파트를 나누고, 자신의 파트에 맞는 아이디어를 생각하고, 정리하는 시간을 가졌다. 하루종일 회의를 했다.기존 기획에서 살을 덧붙여 좀 더 완성에 가까운 게임을 만들기 위해 스토리, 캐릭터 기능, 기믹 등에 대해 토론하는 시간 또한 가졌다. 그리고 HUD는 스토

상의 / 하의 / 원피스 / 모자 / 머리 / 장갑 / 안경 / 눈알 / 눈썹 / 수염 / 신발 / 가방 / 피부색 IdleConfirm 📎 when cute villagers wear ugly clothes 😒 ← 옷 다 고르고 완료 버튼 누르면 애니메이션, 이펙
10-22 기준, 상범, 여울null 체크 필수Lyra 같은 모던 시스템에서는 메인 캐릭터 메시를 invisible로 설정하거나 아예 안 넣는 경우가 많음대신 보이는 모든 파츠들을 Character Part로 처리하기GetParentMeshComponent()가 nul
Class Default Onbject(CDO)는 언리얼 엔진 실행 시 자동으로 생성되는 특별한 UObject 인스턴스로, 각 UClass의 기본값을 보관하고 새로운 객체 인스턴스 생성 시 초기화 템플릿 역할을 합니다.즉, 새 인스턴스가 생성될 때마다 해당 클래스의

로고는 스케일 박스 안에 넣어서 크기 1:1로 맞추면 비율이 좋다Style 설정하기블루프린트에 버튼 텍스트 연결하기허드로 띄우기폰트 설정하기Min Width(100)와 Min Health(30) 값 넣기메인메뉴 완성~ 참고한 유튜브 튜토리얼📎 Unreal Common

Vertical Box → Wrap with Common BorderCommont Text Horizontal Box WBP Menu Button (Common UI Plugin \* 2)SpacerCommonTextStyle_MainMenu 적용Justificatio

HierarchyVertical Box Horizontal Box WBP Menu Button \* 3Hierarchy에 추가하기Button에 Right Padding (10)Wrap with Common BorderCommon Border Style 만들어둔 Bord
WBP_OptionRotator CommonText 추가해서 에러 해결하기 CommonText Style 적용하기 WBP_MenuButton WBP_OptionCycl
기존에 사용하신 BeginHighlight(), EndHighlight()가상함수를 UI 상호작용에도 재활용해서 공통 인터페이스 기반의 UI 구현하기사용자의 입력에 반응하는 UI 제작하기☑ 캐릭터 추가하기 (기탁님)☑ 재근님이 작업하신 브랜치 받기 ☐ 기존 인터페이스
플레이어가 상호작용 가능한 액터를 볼 때, HUD에 “E”키 아이콘을 화면 상에 표시해주는 UI 시스템Timer 기반으로 성능을 최적화하고, 액터의 3D 위치를 2D로 변환해서 HUD에 그리기실시간 Trace : 플레이어 카메라에서 Ray를 발사해 상호작용 가능한 액터

InteractionComponent.cpp의 TraceForInteractable 함수이 부분이 카메라 시점에서 라인트레이스를 쏘고 있음작은 액터 감지가 힘듦캐릭터가 카메라 방향과 마주보면 HUD가 나타나지 않음작은 물체 감지플레이어가 보는 방향 일치캐릭터 > 컴포넌

로고는 Size Box로 랩핑 후에 Min Aspect Radio / Min Aspect Radio (최소/최대 종행비) 둘 다 1로 설정Common UI Plugin의 Common Text 해야 한다블루프린트에 ButtonText 추가 후 Intext 부분 변수로 승

Unreal Common UI Tutorial Part 2 - Common Animated SwitcherWBP_MainMenu의 메뉴 Vertical Box → Wrap with Common Animated Switcher복제해서 Setting 메뉴 만들기현재 화면에