설명: Unreal Engine 5는 실시간으로 3D 콘텐츠를 제작할 수 있는 강력한 툴입니다. 게임 개발, 시뮬레이션, 영화 제작 등 다양한 분야에 사용됩니다.설명: 마우스 우클릭 상태에서 키보드로 이동하면 화면(카메라)의 위치를 조작할 수 있습니다. W: 전
해석: 게임 개발에서 필요한 요소들은 영화 제작의 필수 요소(배우, 소품, 카메라 등)와 비슷하다. 게임의 "배우"는 캐릭터나 NPC, "소품"은 각종 환경 오브젝트, "카메라 세팅"은 게임 시점이나 연출 등을 의미한다고 볼 수 있다. 해석: Unreal Eng
맵(Map)과 레벨(Level)은 동일한 개념으로 사용되며, 언리얼 엔진에서 맵은 게임의 특정 장면(scene)이나 환경(environment)을 나타낸다. 맵은 배경 오브젝트, 액터, 조명, 그리고 플레이어의 상호작용을 정의하는 공간이다. 예를 들어, 게임의 스테
데이터와 로직은 프로그래밍의 핵심 요소다. 데이터를 다룬다는 것은 변수와 자료형(데이터 타입)을 이해하고 사용하는 것을 의미하며, 로직은 데이터를 기반으로 동작하는 알고리즘과 프로세스를 구현하는 것이다.Boolean은 참(true)과 거짓(false) 두 가지 값만을
Set과 Get은 변수에 값을 설정하고 값을 읽어오는 데 사용하는 언리얼 엔진의 블루프린트 노드다. 이 기능은 객체의 상태를 조작하거나 확인할 때 매우 기본적이고 중요한 역할을 한다. Set은 변수를 설정하는 데 사용된다. 예를 들어, HP라는 변수를 Set을 통
아래는 주어진 내용을 자세히 분석하고, 한 줄씩 꼼꼼하게 정리한 결과입니언리얼 엔진 블루프린트에서 사칙연산(덧셈, 뺄셈, 곱셈, 나눗셈)을 사용하는 방법에 대한 설명이다. 블루프린트 노드를 사용하여 프로그래밍에서처럼 연산을 수행할 수 있다. Get, Set 노드를
비교 연산은 두 값(숫자, 변수 등)을 비교하여 결과를 도출하는 연산이다. 결과는 항상 참(True) 또는 거짓(False) 중 하나로 반환된다.Branch 노드는 블루프린트에서 조건에 따라 실행 흐름을 나누는 역할을 한다. C++의 if-else 문과 같은 기능을
Format Text 노드는 텍스트를 동적으로 조합할 때 사용된다. {0}과 같은 플레이스홀더(Placeholder)를 사용하면, 값을 넣을 수 있는 입력 핀이 생성된다. 예: {0}은 첫 번째 입력값, {1}은 두 번째 입력값. 플레이스홀더 {0}에 Ammo 변
Breakpoint는 디버깅을 위해 실행을 멈출 특정 위치를 지정하는 장치입니다.F9를 누르면 블루프린트 노드에 빨간 점이 표시됩니다. 실행 중 해당 지점에 도달하면 실행이 중지됩니다.정지된 상태에서 변수 값, 함수 호출 순서 등을 확인할 수 있습니다.Fun A:시작
논리 연산자 종류:AND Boolean: 두 조건이 모두 True일 때만 True를 반환합니다.OR Boolean: 하나라도 True면 True를 반환합니다.NOT Boolean: 조건의 참(True)과 거짓(False)을 반대로 뒤집습니다.블루프린트 내 생성:우클릭
Branch 노드는 True/False 조건에 따라 흐름을 분기하는 기능을 합니다. 조건문 (if-else)와 같은 역할을 하며, 게임 로직에서 특정 조건에 따라 다른 이벤트를 실행하고자 할 때 사용됩니다.입력 핀:(무제): 실행 신호를 받는 입력 핀입니다. (이 신호
Min 노드는 입력된 값들 중에서 가장 작은 값을 반환하는 노드입니다.예를 들어, 두 값이 Hp + 20과 MaxHp라면, 둘 중 작은 값을 결과로 출력합니다.키보드 2번을 누를 때마다 체력(Hp)이 20씩 증가합니다.체력 증가 이후, 현재 체력(Hp)이 최대 체력(M
While Loop는 조건이 참(True)인 동안 반복을 수행합니다.C++의 while과 유사하며, 조건이 거짓(False)이면 루프를 종료합니다.Condition 핀:루프의 조건을 설정하는 핀.조건이 참일 경우, Loop Body가 실행됩니다.Loop Body 핀:조
외부 For Loop:First Index: 2, Last Index: 9 → 구구단의 단을 결정합니다. (2단부터 9단까지)현재 반복의 Index 값(Num1)을 내부 루프에 전달합니다.내부 For Loop:First Index: 1, Last Index: 9 → 각
Gate 노드는 실행 흐름을 제어하는 역할을 합니다.문이 열리고 닫히는 구조를 통해 신호의 흐름을 허용하거나 차단할 수 있습니다.입력 핀:Enter: 실행 신호를 입력받아 Gate 상태에 따라 통과 여부를 결정.Open: Gate를 열어 실행 신호가 통과하도록 설정.C
열거형(Enum)은 관련된 상수 집합을 한 곳에 묶어 관리하는 데이터 타입입니다.게임 개발에서 주로 캐릭터의 상태(Idle, Moving, Attack)나 방향(Direction), 요일(Days of the Week) 등을 표현하는 데 사용됩니다.가독성 향상:정수 값
플레이어는 키보드 입력으로 가위, 바위, 보 중 하나를 선택합니다.1: 바위2: 보3: 가위컴퓨터는 랜덤한 값을 선택합니다. (0~2)먼저 무승부 여부를 판단합니다.무승부가 아니면 승패를 판단합니다.최종 결과를 출력합니다.플레이어:SET 노드를 사용해, 키보드 입력과
블루프린트에서 정의된 함수는 C++의 멤버 함수(Member Function)와 동일한 역할을 합니다.멤버 함수는 특정 클래스의 객체와 연결되어 있으며, 객체의 동작이나 상태를 정의합니다.블루프린트 함수는 해당 블루프린트 객체의 동작을 구현하는 데 사용됩니다.콘텐츠 브
로컬 변수 = 지역 변수: 함수 내부에서만 유효한 변수.함수 외부에서는 사용할 수 없고, 함수가 끝나면 메모리에서 소멸.함수 실행 동안만 메모리에 존재.함수 외부에서는 접근 불가능.각 함수는 독립적인 공간을 사용하여 변수 간 충돌을 방지.로컬 변수는 스택(Stack)
Swap: 두 변수의 값을 교환.구현 방식:A → TempB → ATemp → B임시 저장 공간인 Temp 변수를 활용하여 값을 교환.이점:로직 재사용 가능.유지보수가 용이.Swap 로직을 함수로 구현하여 반복적인 코드를 줄임.기능:변수의 값을 설정하는 노드.디버깅:브
목적: 블루프린트 디버깅 중 호출 스택(Call Stack)을 활용하는 방법을 학습.호출 스택 역할: 함수 호출 경로를 시각적으로 이해하고, 문제를 정확히 분석.Func A:실행 중 Func B를 호출.Func B:실행 중 Func C를 호출.Func C:단순히 로그를
정의: 데이터를 순차적으로 나열하는 형태.예시: 배열, 연결 리스트, 스택, 큐.특징:데이터가 일렬로 정렬되어 있어 다음 데이터에 쉽게 접근 가능.비유: 은행에서 줄을 서서 대기표를 받는 상황.정의: 하나의 데이터 뒤에 여러 개의 데이터가 연결될 수 있는 형태.예시:
Unreal Engine 블루프린트에서 배열은 기본적으로 동적 배열입니다. 이는 연속된 메모리 공간을 사용하는 배열이지만 크기를 동적으로 조정할 수 있어 일반적인 정적 배열의 단점을 보완한 구조입니다.설명: 변수를 생성한 후, 우측 디테일 창에서 변수의 타입을 Arra
1~45 사이의 숫자 중 6개의 무작위 번호를 생성.중복되지 않도록 숫자를 배열에 추가.Contains를 이용한 중복 확인.Add Unique를 활용한 간단한 중복 제거.Shuffle을 이용한 무작위 섞기 후 추출.While Loop:Numbers 배열의 길이가 6이
버블 정렬(Bubble Sort)을 구현하여 배열 안의 숫자를 오름차순으로 정렬하는 알고리즘을 블루프린트로 작성.정의:버블 정렬은 두 개의 인접한 값을 비교하여 정렬하는 간단한 알고리즘.가장 큰 값이 배열 끝으로 "버블"처럼 떠오르게 된다.동작 원리:첫 번째 반복: 배
정의: 해시 테이블은 키(Key)와 값(Value) 쌍으로 이루어진 데이터 구조입니다.대량의 데이터를 빠르게 탐색하거나 저장하기 위해 사용됩니다.특징:일반적인 배열보다 더 많은 메모리를 사용.키(Key)를 사용하여 값을 조회하기 때문에 빠른 탐색 속도를 제공합니다.예시
정의:대량의 데이터를 효율적으로 관리하고 빠르게 탐색하기 위한 자료구조.데이터를 Key-Value 쌍으로 관리.특징:Key를 통해 데이터를 바로 검색하므로 빠른 조회 속도를 제공.일반적인 배열보다 많은 메모리를 사용.데이터를 배열처럼 인덱스 기반이 아닌, Key를 기준
목적: RPG 게임에서 보스 몬스터에게 각 유저가 입힌 데미지를 기록하고, 이를 누적하여 출력하는 기능을 구현.주요 개념:맵(Map): 키(Key)와 값(Value)로 데이터를 관리하는 자료구조.Find 노드: 키를 기준으로 값을 검색하며, 없으면 기본값(예: 정수는
블루프린트 클래스는 Unreal Engine에서 객체 지향 프로그래밍의 시작점으로, 게임의 객체(Actor, Pawn, Character 등)를 정의하고 조작할 수 있는 설계도입니다.이 설계도를 기반으로 여러 객체를 생성하면, 설계도가 수정될 때 모든 객체에 동일한 변
멤버 변수 정의:멤버 변수는 클래스 내부에서 고유하게 선언된 변수로, 클래스에 속한 객체마다 별도로 할당됩니다.예: Name, Hp, MaxHp, bStimPack 등은 클래스에 속한 변수로 각각의 객체가 독립적으로 값을 가질 수 있습니다.멤버 변수 생성:클래스 페이지
Is Valid 노드는 다음 질문에 답합니다:"이 참조가 메모리에 실제로 유효한 객체를 가리키고 있는가?"이 노드를 사용하면 유효성 검증을 추가하여 런타임 오류를 방지할 수 있습니다.타입 1: "Is Valid" (함수형 노드) 입력: 확인할 객체 참조. 출력: B
이 블루프린트의 목표는 플레이어와 몬스터 간의 간단한 전투를 구현하는 것입니다. 각 캐릭터는 체력(Hp)과 데미지(Damage) 속성을 가지고 있으며, 입력된 키를 통해 서로 공격하는 이벤트가 트리거됩니다.Player 클래스와 Monster 클래스의 생성각각의 클래스를
상속은 객체 지향 프로그래밍(OOP)에서 상위(부모) 클래스의 속성과 기능을 하위(자식) 클래스가 물려받아 재사용하는 것을 의미합니다. 상속을 통해 코드 중복을 줄이고, 기능 확장과 유지보수를 쉽게 할 수 있습니다.중복 방지상속을 사용하면 공통적인 기능을 상위 클래스에
캐스팅이란 변수나 객체의 타입을 강제적으로 변경하여 서로 다른 타입의 변수나 함수에 접근할 수 있도록 만들어주는 과정을 의미합니다. 상속 관계에서 캐스팅을 사용하면 상위 클래스에서 하위 클래스의 변수나 함수에 접근할 수 있으며, 특정 상황에서 타입을 변환해 분기 처리도
은닉성은 객체지향 프로그래밍(OOP)에서 매우 중요한 개념 중 하나입니다. 핵심 기능만 외부에 노출하고 나머지 부분은 숨김으로써 프로그램의 안전성을 높이고 유지보수를 쉽게 만들어 줍니다.은닉성: 데이터를 숨기고 접근을 제한하는 개념. 캡슐화: 은닉화된 데이터와 로직을
다형성은 객체지향 프로그래밍(OOP)의 중요한 특징 중 하나로, "같은 코드가 여러 가지 형태로 실행되는 특성"을 의미합니다. 같은 함수 호출이지만 상황에 따라 다르게 동작할 수 있습니다. 주로 상속 관계에서 함수 재정의(Override)를 통해 다형성을 구현합니다
인터페이스는 함수 선언부만 모아둔 설계도입니다. 구현(Implementation)이 없는 함수 모음이며, 이를 다른 블루프린트에 추가하여 각 블루프린트마다 고유한 방식으로 함수를 구현할 수 있습니다. 핵심 목적: 서로 다른 블루프린트 간의 명확한 메시지 전달 및 유
구조체는 연관된 여러 데이터 유형을 하나로 묶어 관리하는 데이터 구조입니다. 예시: 위치, 회전, 크기를 포함하는 Transform 구조체. 구조체를 사용하면 여러 변수들을 압축하여 편리하게 관리할 수 있습니다. 일반적으로 데이터의 복사 방식으로 동작하지만, 상황
벡터는 방향과 크기를 동시에 가진 수학적 개념입니다. 방향 → 화살표로 나타냅니다. 크기 → 숫자(길이)로 표현합니다. 표기법: 문자 위에 화살표를 사용합니다. 예: ($\\vec{v}$) 2차원 벡터: 예: ($\\vec{v}$ = (a, b)) → x축 방
정의: 맵(게임 세계) 전체를 기준으로 하는 절대적인 좌표계입니다. 특징: 월드의 0,0,0 지점을 기준으로 x, y, z 축이 고정되어 있습니다. 게임 세상 모든 오브젝트가 공유하는 공통 좌표입니다. 활용: 오브젝트의 절대적인 위치나 방향을 구할 때 사용합니
벡터는 x, y, z 좌표 값을 가지는 구조체입니다. 좌표 값은 float 타입으로 저장됩니다. 벡터는 주로 위치, 방향, 크기를 표현하는 데 사용됩니다.위치 벡터: 특정 객체의 위치를 나타내는 벡터. 방향 벡터: 두 위치 사이의 방향을 나타내는 벡터. 단위 벡
Rotator는 액터의 회전 정보를 나타내는 구조체입니다. Roll, Pitch, Yaw라는 3개의 축 값을 가지고 있습니다. Roll: X축을 기준으로 회전 (기울기) Pitch: Y축을 기준으로 회전 (앞뒤로 움직임) Yaw: Z축을 기준으로 회전 (좌우로
언리얼 엔진의 구조를 이해하려면 상속 계층구조를 잘 알아야 한다. 언리얼 엔진의 계층구조는 각 객체가 클래스 기반으로 설계되어 있으며, Actor와 같은 기본 클래스에서 다양한 기능을 상속받아 사용한다.Unity에서 큐브를 생성하면, 해당 객체는 단순히 시각적인 Me
Sprite는 게임에서 사용하는 2D 비트맵 이미지를 의미한다. 주로 캐릭터, 오브젝트, 아이템 등 독립적으로 움직이는 2D 개체를 나타낸다. Sprite라는 용어의 어원은 도깨비불이나 유령처럼 독립적으로 떠다니는 이미지에서 유래되었다. Sprite는 배경과 분리
설명:Flipbook은 2D 애니메이션을 구현하는 방식 중 하나로, 여러 프레임의 이미지를 순차적으로 표시하여 움직임을 표현합니다.이름에서 알 수 있듯이, "Flip"은 넘기다, "Book"은 책을 의미하며, 책의 페이지를 빠르게 넘기듯이 이미지를 전환해 애니메이션 효
캐릭터의 이동, 점프, 낙하, 비행 등 다양한 움직임을 처리하는 기본 제공 기능.걷기, 수영, 비행 등 다양한 이동 방식을 설정할 수 있음.장점: 구조가 명확하고 체계적이어서 학습 및 유지보수가 용이함.단점: 구조가 엄격해 자유도는 낮고, 초반 학습이 어렵게 느껴질 수
Action Mappings와 Axis Mappings를 통해 입력(Key Input)과 동작(Execution)을 분리하여 관리.Edit → Project Settings → Engine → Input에서 설정 가능.Action Mappings키의 누름/뗌 동작을 관
매크로는 블루프린트의 노드 네트워크를 간단히 접어서 사용할 수 있는 템플릿입니다. 매크로는 노드의 흐름을 처리하며, 다중 입출력 핀을 지원합니다. 이는 블루프린트 함수와 비슷하지만, 컴파일 시 매크로의 위치가 실제 노드들로 대체된다는 점에서 차이가 있습니다.노드 템플릿
방향 정보를 처리하기 위해 enum 타입으로 방향(상하좌우)을 정의했습니다.Direction 변수를 추가하여 현재의 방향 정보를 저장합니다.특정 키 입력 시(위, 아래, 왼쪽, 오른쪽), 해당 키에 맞는 방향 값을 Direction 변수에 저장합니다.분석enum을 사용
스페이스바 입력 설정 (InputAction Attack):Action Mappings:"Attack"이라는 액션을 정의하고, Space Bar에 매핑함.Action Mappings는 특정 키 입력을 하나의 이벤트로 연결하여 사용하기 쉽게 만들어줌.이점:키보드나 컨트롤
State 패턴은 객체의 상태에 따라 행동이 달라지는 시스템을 설계하는 방법입니다. 상태를 Enum(열거형)으로 정의하고, 상태에 따라 각기 다른 로직이나 동작을 수행하도록 구성합니다. 이는 코드의 가독성과 유지보수를 높이고, 상태 변화가 명확하게 드러나도록 설계하는
Set Actor Location의 기본 개념Set Actor Location 노드는 액터의 위치를 변경하기 위한 간단한 노드로, 액터의 로케이션(Location) 속성을 직접 설정합니다. 이 노드는 현재 액터의 위치를 원하는 좌표로 변경할 때 사용되며, 물리적 상호작
Character Movement는 Paper Character 클래스에서 상속받아 생성된 컴포넌트로, 캐릭터의 물리적 이동, 속도, 가속도, 관성 등을 제어하는 핵심 컴포넌트입니다.단순히 좌표 이동(Set Actor Location)에서 벗어나 물리 법칙에 기반한 자