unreal 30

[Unreal Engine] Unreal Engine_C++ 매크로

순서Unreal C++ 매크로란?주요 매크로Unreal C++ 매크로란?언리얼 엔진의 헤더 툴(UHT)이 처리하는 특별한 주석/메타데이터.C++ 코드에 리플렉션(reflection) 정보를 추가하여 기능에디터에 속성을 노출블루프린트와 상호작용GC(Garbage Collection)대상 객체로 관리 가능컴파일 전에 UHT가 읽어들여 자동 코드 생성 및 메타데이터 등록주요 매크로클래스 관련 UCLASS(): 언리얼이 이 클래스를 관리하도록 표시USTRUCT(): 언리얼에 구조체 등록UENUM(): 언리얼에 열거형 등록UINTERFACE(): 언리얼 인터페이스 클래스 등록GENERATED_BODY(): 헤더 툴이 가상 함수 테이블, 리플렉션 데이터, 직렬화 함수 등을 자동 생성변수 관련UPROPERTY(): ..

Unreal Engine 2025.07.16

[Unreal Engine] 리플렉션 시스템

순서리플렉션이란?클래스 리플렉션변수 리플렉션함수 리플렉션리플렉션이란?C++ 클래스의 변수 및 함수 정보를 엔진 내부의 메타데이터 형태로 저장하고, 이를 에디터나 블루프린트에서 활용할 수 있게 만들어주는 기술C++ 클래스에 있는 여러 멤버를 Reflection하여 에디터와 블루프린트에서 직접 설정, 호출이 가능함프로그래머가 작성한 C++ 로직의 뼈대를 디자이너나 다른 팀원들이 에디터에서 직관적으로 조정할 수 있음매개변수를 코드에서만 변경하는 것이 아니라, 에디터에서 바로 조정(슬라이더 또는 입력)하여 반복 테스트를 빠르게 진행가능클래스 리플렉션#include ClassName.generated.h 헤더파일UClass() 매크로해당 클래스를 언리얼 엔진의 리플렉션 시스템에 등록한다는 의미UClass() 매크..

Unreal Engine 2025.07.09

[Unreal Engine]Unreal_C++ 빌드 프로세스

순서Visual Studio C++ 빌드 설정Visual Studio C++ 빌드Visual studio C++ 빌드 설정코드의 빌드 과정.코드를 컴파일(Compile)을 거쳐 링크(Link)를 하면 동적 라이브러리(DLL)가 생성된다.생성된 DLL은 언리얼 에디터에 로드되고, 새로 작성한 클래스, 함수 등이 게임과 에디터 내에서 즉시 반영됨.빌드 구성 및 플랫폼 확인Visual studio 상단 툴바에서 빌드 구성(Configuration)과 플랫폼(Platform)을 설정할 수 있음빌드 구성(Configuration)DebugGame게임 로직만 디버그 정보를 포함, 엔진은 최적화된 상태로 빌드에디터가 아닌 독립 실행 파일 환경에서 디버깅이 가능DebugGameEditor에디터 환경에서 게임 로직을 디..

Unreal Engine 2025.07.07

[Unreal Engine] Actor의 라이프사이클

순서Actor란?라이프사이클이란?Actor의 라이프사이클Actor란?레벨에 배치할 수 있는 모든 오브젝트를 의미함.카메라, 스태틱 메시, 플레이어 시작 위치 등 게임 내에서 상호작용하는 모든 것들이 Actor라고 할 수 있음.Actor는 이동, 회전, 크기조정과 같은 3D변환을 지원함.라이프사이클이란?액터(Actor)가 생성되고, 작동하며, 파괴되는 전체 과정을 의미함.Actor의 라이프사이클생성(Instantiation/Spawn)액터(Actor)가 게임 월드에 생성되는 단계초기화(Initialization)생성된 액터가 사용되기 전에 초기화되는 단계 - BeginPlay 이벤트나 생성자에서 초기화 작업을 할 수 있음.작동(Tick)액터가 매 프레임마다 실행되는 로직을 수행하는 단계. Tick함수 또..

Unreal Engine 2025.07.01

[C++]FMath

순서FMath란?FMath의 함수FMath란?언리얼 엔진에서 수학 연산을 위한 정적 함수들을 모아둔 유틸리티 클래스C++의 와 같은 역할을 하며, 벡터 연산, 난수 등을 다룰 때 자주 사용함FMath는 인스턴스를 만들 필요 없는 static 클래스이다.FMath의 함수를 사용할 때는 FMath::함수이름()의 형태로 사용함정수, 실수, 벡터 관련 연산 대부분을 포함하고 있음왜 를 두고 FMath를 사용할까?C++의 보다 게임 최적화와 관련된 고성능 수학 연산용으로 설계되었기 때문FMath의 함수Abs() - 절댓값Clamp() - 값의 범위 제한Lerp() - 선형 보간Rand() - 0 ~ Rand_Max 정수 난수FRand() - 0 ~ 1 사이 float 난수 RandRange(a, b) - a ~..

C++ 2025.06.18

[Unreal Engine] 활용 프로그램 제작해보기

순서Level 생성하기Actor 생성하기.cpp 파일과 .h파일 작성하기Level 생성하기새로운 Level을 만들기 위해 File에서 'New Level'을 선택Open월드 대신 Basic Level을 선택하여 CreateActor 생성하기새로운 Actor를 만들기 위해 Tools에서 'New C++ Class'를 선택Class 종류 중에 Actor를 선택하여 이름을 입력하고 생성 - Actor는 생성할때 클래스의 이름 앞에 A를 붙임.cpp와 .h파일 작성하기

Unreal Engine 2025.06.17

[Unreal Engine]Unreal Engine 기본 개념

순서언리얼 엔진의 특징Actor로그 출력언리얼 엔진의 특징실시간 렌더링 기능언리얼 엔진은 실시간 렌더링 기술이 뛰어나 고 퀄리티의 게임과 시뮬레이션 등의 개발이 쉽게 구현 가능함.블루 프린트C++을 알지 못하더라도 코딩없이 게임 로직을 만들 수 있게 해주는 비주얼 스크립팅 시스템이다.필요 시 C++ 클래스와 블루프린트를 함께 사용할 수 있음직관적인 이벤트 처리로 BeginPlay, Tick 등 이벤트 처리 용이함모든 플랫폼에서 사용 가능함PC, 콘솔, 모바일을 모두 지원함한 번의 구현을 통해 다양한 기기에 배포할 수 있어 효율이 좋음활성화된 커뮤니티튜토리얼이 잘 작성되어 있으며 포럼이 활성화 되어있어 입문시 조작방식을 쉽게 익힐 수 있음.ActorActor란?언리얼 엔진에서 게임에 배치될 수 있는 모든 ..

Unreal Engine 2025.06.16

[C++] 디자인패턴

순서디자인패턴이란?생성패턴(싱글톤 패턴)구조패턴(데코레이 패턴)행동패턴(옵저버 패턴)디자인패턴이란?개발 시 반복적으로 등장하는 문제를 해결하기 위한 일반화된 솔루션생성패턴(싱글톤 패턴)생성패턴?: 새로운 것을 만들어내는 방법과 관련된 패턴싱글톤 패턴이란?: 프로그램 전체에서 단 하나의 인스턴스만 존재하도록 보장하고, 해당 인스턴스에 전역적으로 접근할 수 있도록 하는 디자인 패턴핵심인스턴스가 월드에 하나만 존재해야하며 전역으로 접근해서 사용해야할 때생성자를 외부에서 호출할 수 없도록 막고, 정적 메서드를 통해 인스턴스를 반환해야 할 때주의해야하는 점과도하게 사용하면 유연성과 확장성이 떨어지기 때문에 꼭 필요한 경우에만 사용.Unreal Engine 게임 개발에서 활용 예제 : 전역 데이터 저장이나 게임 전..

C++/디자인패턴 2025.06.13

[Unreal Engine] 블루프린트를 이용한 비주얼 스크립팅

블루프린트란?언리얼 엔진에서 제공하는 비주얼 스크립팅 시스템복잡한 코드 작성없이 노드 기반으로 프로그래밍을 가능하게 하는 시스템레벨당 짝을 맞춰 생산하여 레벨당 블루프린트를 구별할 수 있음블루프린트 사용해보기Event: 일종의 트리거로 '어떤 상황에서 호출이 될 것이다'라는 약속을 의미함Event BeginPlay: 게임이 시작할때 마다 한번씩만 실행되는 이벤트Event Tick: 프레임마다 실행되는 이벤트프로그래밍을 시작할 때 출력해보는 Hello World를 블루프린트로 출력해 볼 것이다.빈 화면에 우클릭을 하고 PrintText를 선택하여 생성해준다. 게임이 시작될 때 출력되도록 할 것이기 때문에 Event BeginPlay를 Prinet Text의 InText에 핀을 연결하고 InText 아래에 ..

내일배움캠프 2025.05.21