⭐ Unreal Engine/UE 개념정리 - 언리얼의 이해
[UE] 언리얼 빌드 시스템
[UE] 언리얼 빌드 시스템
2024.09.02언리얼 엔진의 프로젝트 구성과 에디터 동작 방식의 이해하고, 언리얼 엔진의 모듈 시스템을 기반으로 소스코드와 플러그인 구조를 직접 제작하기언리얼 엔진의 프로젝트 구성과 에디터 동작 방식의 이해언리얼 엔진의 모듈 시스템을 기반으로 소스코드를 구성하는 방법의 학습언리얼 플러그인 시스템을 활용한 효과적인 모듈 구성의 학습 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 언리얼 에디터 프로젝트 구성 언리얼 에디터 구성 게임 제작을 위해 에픽게임즈가 제공하는 저작 도구언리얼 엔진의 구성에디터 : 게임 제작을 위해 제공되는 응용 프로그램 (일반적으로 인식하는..
[UE] 언리얼 오브젝트 관리 II - 패키지 (Package)
[UE] 언리얼 오브젝트 관리 II - 패키지 (Package)
2024.07.09강의 목표언리얼 엔진의 애셋과 이를 포장한 패키지의 개념 이해언리얼 에디터에서 볼 수 있도록 애셋을 저장하고 불러들이는 방법의 이해오브젝트 패스를 사용해 다양한 방식으로 애셋을 로딩 하는 방법의 이해 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 패키지 (Package) 언리얼 엔진의 패키지와 애셋 개념을 이해하고 언리얼 에디터에 애셋 데이터를 저장하고 불러들이기 언리얼 오브젝트 패키지 단일 언리얼 오브젝트가 가진 정보는 저장할 수 있지만, 오브젝트들이 조합되어 있다면?저장된 언리얼 오브젝트 데이터를 효과적으로 찾고 관리하는 방법은?복잡한 계층..
[UE] 언리얼 오브젝트 관리 I - 직렬화 (UE Object Management I - Serialization)
[UE] 언리얼 오브젝트 관리 I - 직렬화 (UE Object Management I - Serialization)
2024.07.03언리얼 엔진이 제공하는 직렬화 기능을 이해하고 언리얼 오브젝트의 데이터를 저장하고 불러들이기언리얼 엔진이 제공하는 직렬화 기능을 이해언리얼 오브젝트를 직렬화하고 이 데이터를 저장하고 불러들이는 방법을 이인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 언리얼 엔진의 직렬화 직렬화(Serialization)란? 오브젝트나 연결된 오브젝트의 묶음(오브젝트 그래프)을 바이트 스트림으로 변경하는 과정복잡한 데이터를 일렬로 세우므로 직렬화라 부름.거꾸로 복구시키는 과정도 포함해서 의미Serialization : 오브젝트 그래프에서 바이트 스트림으로 (Objec..
[UE] 언리얼 엔진의 메모리 관리 (Memory Management in UE)
[UE] 언리얼 엔진의 메모리 관리 (Memory Management in UE)
2024.07.02언리얼 엔진의 메모리 관리 방식을 파악하고, 언리얼 오브젝트의 메모리를 관리하는 예제 실습을 한다.언리얼 엔진의 메모리 관리 시스템의 이해안정적으로 언리얼 오브젝트 포인터를 관리하는 방법의 학습 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 언리얼 엔진의 자동 메모리 관리 C++ 언어 메모리 관리의 문제점 C++은 low 레벨 언어로, 메모리 주소에 직접 접근하는 포인터를 사용해서 오브젝트를 관리한다.그러다보니 프로그래머가 직접 할당(new), 해지(delete) 짝 맞추기를 해야 한다.이를 잘 지키지 못하는 경우 다양한 문제가 발생할 수 있다...
[UE] 언리얼 구조체와 TMap
[UE] 언리얼 구조체와 TMap
2024.07.01언리얼 구조체의 특징을 이해하고, 다양한 컨테이너 라이브러리에서 구조체를 활용하기언리얼 구조체의 선언과 특징 이해언리얼 대표 컨테이너 라이브러리 TMap의 내부 구조 이해세 컨테이너 라이브러리의 장단점을 파악하고 알맞게 활용하기 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 언리얼 구조체 USTRUCT USTRUCT(BlueprintType)struct FMyStruct{ GENERATED_BODY() // BP에서 접근 가능 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Test Varia..
[UE] 언리얼 C++의 TArray, TSet, TMap 자료구조 라이브러리와 활용방법
[UE] 언리얼 C++의 TArray, TSet, TMap 자료구조 라이브러리와 활용방법
2024.04.20언리얼에서 제공하는 대표 컨테이너 라이브러리의 동작 원리와 활용 방법을 예제를 통해 살펴보자.언리얼 대표 컨테이너 라이브러리 TArray, TSet 의 내부 구조 이해각 컨테이너 라이브러리의 장단점을 파악하고, 알맞게 활용하는 방법의 학습 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 언리얼 컨테이너 라이브러리 언리얼 컨테이너 라이브러리 언리얼 컨테이너 라이브러리 (Unreal Container Library, UCL)언리얼 엔진이 자체 제작해 제공하는 자료구조 라이브러리.줄여서 UCL(Unreal Container Library)라고도 함..언..
[UE] 언리얼 C++ 설계 3 - 델리게이트 Delegate
[UE] 언리얼 C++ 설계 3 - 델리게이트 Delegate
2024.04.05언리얼 델리게이트를 사용해 클래스 간의 느슨한 결합을 구현하기 느슨한 결합의 장점과 이를 편리하게 구현하도록 도와주는 델리게이트의 이해발행 구독 디자인 패턴의 이해발행 구독 디자인 패턴을 구현하면서, 언리얼 델리게이트를 활용한 느슨한 결합의 설계 방법을 학습 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 느슨한 결합 강한 결합(Tight Coupling) 과 느슨한 결합(Loose Coupling) 강한 결합 ( Tight Coupling ) 클래스들이 서로 의존성을 가지는 경우를 의미한다.아래 예시에서 Person 클래스는 Card 클래스를 가졌..
[UE] 언리얼 C++ 설계 2 - 컴포지션
[UE] 언리얼 C++ 설계 2 - 컴포지션
2024.04.05언리얼 C++만의 컴포지션 기법을 사용해 복잡한 언리얼 오브젝트를 효과적으로 생성하자언리얼 C++ 컴포지션 기법을 사용해 오브젝트의 포함 관계를 설계하는 방법의 학습언리얼 C++이 제공하는 확장 열거형 타입의 선언과 활용 방법의 학습 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 언리얼 오브젝트의 컴포지션 컴포지션 ( Composition ) 객체 지향 프로그래밍의 설계는 상속과 컴포지션으로 나눌 수 있다.상속이란 같은 성질을 가진 부모, 자식 객체 간의 Is-A 관계만 의존해서는 설계와 유지보수가 어려움.컴포지션은 객체 지향 설계에서 Has-A ..
[UE] 언리얼 C++ 설계 1 - 인터페이스
[UE] 언리얼 C++ 설계 1 - 인터페이스
2024.04.05언리얼 C++ 인터페이스 클래스를 사용해 보다 안정적으로 클래스를 설계하는 기법을 학습하자. 목차 언리얼 C++ - 인터페이스 언리얼 C++ 인터페이스 인터페이스란?객체가 반드시 구현해야 할 행동을 지정하는데 활용되는 타입다형성(Polymorphism)의 구현, 의존성이 분리(Decouple)된 설계에 유용하게 활용 언리얼 엔진에서 게임 콘텐츠를 구성하는 오브젝트의 설계 예시언리얼 엔진 월드에 배치되는 모든 오브젝트.월드에 배치되는 모든 오브젝트를 액터라고 한다. 액터(Actor)는 움직이는 물체와 안 움직않는 물체를 모두 통틀은 상위 개념이다. 움직이지 오브젝트 ( Pawn )길찾기 시스템을 반드시 사용하면서 움직이는 오브젝트 ( INavAgentInterface 인터페이스를 구현한 Paw..
[UE] 언리얼 리플렉션 Unreal Reflection II
[UE] 언리얼 리플렉션 Unreal Reflection II
2024.03.21언리얼 오브젝트 리플렉션 시스템의 활용하여 언리얼 오브젝트 리플렉션 시스템을 사용해 언리얼 오브젝트를 다루는 방법의 학습하자. 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 언리얼 리플렉션 Unreal Reflection II 예제 클래스 다이어그램 어떤 학교에서 학생과 교수가 함께 수업하는 상황을 구현하고 싶다. 학교 정보는 GameInstance에서 지정 인물 클래스 Person 학생 클래스 Student 선생 클래스 Teacher 예제 코드 Person.h 더보기 #pragma once #include "CoreMinimal.h" #include "UOb..
[UE] 언리얼 리플렉션 Unreal Reflection I
[UE] 언리얼 리플렉션 Unreal Reflection I
2024.03.18언리얼 오브젝트의 특징과 리플렉션 시스템의 동작원리를 이해하자. 언리얼 오브젝트의 처리 방식을 이해하고 사용예시를 분석하자. 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 언리얼 오브젝트 리플렉션 리플렉션(Reflection)은 프로그램이 실행시간에 자기 자신을 조사하는 기능이다. UPROPERTY()를 붙이는 기준 리플렉션 프로퍼티 변수는 언리얼 엔진의 시스템의 관리(=Garbage Collector)를 받는다. 반면에, 리플렉션 프로퍼티가 아닌 것은 해당 리플렉션에 의존하는 시스템 전부에 보이지 않는다.즉, 리플렉션 되지 않은 UObject ..
[UE] 언리얼 오브젝트 시스템
[UE] 언리얼 오브젝트 시스템
2024.03.18언리얼 오브젝트의 소개와 선언방법게임 프로그래밍이 가지는 특수성과 언리얼 오브젝트의 필요성의 이해언리얼 오브젝트의 선언과 엔진 내부 컴파일 과정의 학습 인프런 이득우님의 '언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의를 참고하였습니다. 😎 [이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해] 강의 들으러 가기! 목차 C++ 언어 게임 프로그래밍의 특수성 사용자: 쾌적한 경험을 위해 단일 컴퓨터에서 최대 성능을 뽑아내야 한다.개발자: 게임의 규모가 커질수록 방대하고 복잡한 기능을 안정적으로 관리해야 한다. C++ 언어의 단점 C++1970년대 개발하여 오래됨객체 지향 프로그래밍의 선두 주자현재까지 지속적으로 개선해왔지만, 익혀야 할 내용이 많음하드웨어에 직접 접근하..