티스토리 뷰
🟩 오늘의 목표
- 블루프린트 노드 구조(이벤트/실행핀/데이터핀) 이해
- Branch, Sequence, Struct, Reference 개념 정리
- 총 발사 예제로 조건 분기 → 값 변경 → 결과 처리 흐름 체득
- C언어 조건문(if/else if/else)과 논리 연산자 이해
- 언리얼 로직과 C언어 로직 연결해서 사고 구조 잡기
🟧 언리얼 블루프린트 라이브 세션 (DAY 3)
🔹 블루프린트 실행 흐름 이해
- 이벤트로 실행 시작 → 실행핀 따라 흐름 이동
- 조건 불만족 시 False로 빠져나가는 구조 체감
- Print String으로 디버깅하며 “어디까지 실행되는가?” 확인하는 습관 만들기
🔹 총 발사 로직 실습
- 입력(마우스/키)
→ Branch 조건 체크
→ 탄약 여부 확인
→ True면 발사 로직, False면 실패 메시지 - False 쪽으로만 가는 문제를 구조체 값·조건식으로 역추적하는 디버깅 경험
🔹 구조체 & Split Struct Pin
- 총 정보를 구조체(탄약/최대탄약/과열상태 등)로 묶어 관리
- 구조체 핀이 한 줄로만 나올 때
→ 오른쪽 클릭 → Split Struct Pin 으로 내부 필드 분리 - “왜 나는 구조체 필드가 안 보이지?” 문제를 배열/참조 흐름으로 이해
🔹 Copy vs Reference 개념
- 구조체를 가져오면 기본은 값 복사(Copy)
- 실제 값을 바꾸고 싶으면 Set 노드로 원본 수정
- 어떤 노드가 원본을 바꾸는지/안 바꾸는지 구분하는 중요성 체감
🔹 레벨 BP vs 액터 BP
- 레벨 BP: 해당 레벨에서만 쓰는 로직
- 액터 BP: 오브젝트에 직접 부여할 수 있어 재사용성 높음
- 무기/문/트리거 같은 기능은 액터 BP 중심 설계가 정석이라는 설명
🟧 DAY 3 실습 정리
🔹 오늘 만들었던 주요 흐름
- 총 발사 입력 처리(조건 → 탄약 감소 → 메시지 출력)
- 구조체 필드 분리 후 필요한 값만 가져오는 방식
- 배열 요소(Array Element) → 구조체 → 내부값 접근 흐름 이해
- “라인은 연결되는데 값이 안 변한다” 현상 해결을 위해 디버깅 감각 훈련
🟪 C언어 기초 세션 (2회차)
🔹 조건문 핵심 정리
- if (조건) → 조건이 참이면 실행
- 비교 연산자: <, >, <=, >=, ==, !=
- 조건식은 항상 참/거짓(1/0)만 결과
🔹 else if / else — 여러 단계 조건 처리
- 위쪽부터 순서대로 검사
- 처음 참이 되는 조건만 실행
- 마지막 else는 모든 조건이 틀릴 때 실행
🔹 논리 연산자 — 복합 조건
- && : 둘 다 참이어야 참
- || : 둘 중 하나만 참이어도 참
🔹 실습: 생존 판정 시스템 만들기
- 이름 / 연료 / 산소 입력
- 조건에 따라 상태 메시지 출력
- 블루프린트 Branch와 그대로 동일한 구조라 이해 쉬움
예:
- fuel < 50 && oxygen < 40 → Critical
- fuel < 50 || oxygen < 40 → Warning
- 나머지 → 정상
🟦 오늘 정리 – 블루프린트와 C언어의 연결성
- 블루프린트 Branch 흐름 = C언어 if문 구조
- 구조체(Split Struct Pin) = C언어 구조체 개념과 동일한 데이터 묶음
- Copy/Reference 문제도 C와 동일하게 “원본/복사” 관점 중요
- 블루프린트와 C언어는 결국 모두
“조건 → 데이터 조작 → 결과 출력” 이라는 동일한 패턴을 가짐
🟫 오늘 느낀 점
- 처음엔 복잡해 보였던 블루프린트 흐름이 조건·데이터 기반 로직이라는 게 조금씩 보이기 시작함
- C언어 조건문을 배우면서 Branch 노드가 훨씬 더 직관적으로 이해됨
- 구조체 핀 분할, 값 복사/참조 문제를 디버깅하면서 “왜 안되는지 찾는 과정”의 중요성 느낌
- 오늘 배운 패턴(조건, 구조체, 흐름 제어)은 언리얼 C++에서도 그대로 쓰일 것 같아서 자신감 조금 생김

