전체 글 164

[24]템플릿과 자주 사용되는 컨테이너들_2

1. C++ STL버전 Set C++ set은 하나로 정렬된 아이템들의 모음이다. 장점은 set의 요소들을 정렬된 상태로 유지한다는 점이다. 가장 쉽고 빠르게 값들의 모음을 정렬하는 방법은 같은 값을 set으로 넣어버리는 것. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include #include using namespace std; int main(){ set intSet; intSet.insert(7); intSet.insert(7); intSet.insert(8); intSet.insert(1); for(set::iterator it = intSet.begin(); it != intSet.end(); ++it){ cout

[23] 템플릿과 자주 사용되는 컨테이너들

컴파일 하는 시점에 크기를 알수 없는 새로운 배열을 만들려면 동적 메모리 할당을 사용해야한다. ex) int* array = new int[항목 갯수]; new[] 동적할당은 나중에 delete[ ] 를 호출해야 하는데 이런 식으로 메모리를 관리하는 것은 매우 힘들다 => 동적메모리 할당과 해제를 자동으로 관리하는 컨테이너(C++ 객체 종류) UE4도 컨테이너를 몇 가지 제공한다. 템플릿 컨테이너에는 UE4의 컨테이너, C++ 표준 템플릿 라이브러리(STL) 컨테이너 두가지가 있다. UE4 컨테이너 : 게임 성능을 위해 작성, 컴파일 할 때 크로스 컴파일 문제를 겪고 싶지 않으면 추천. C++ STL 컨테이너: 좀더 일관적인 인터페이스 1. 디버그 출력기능 1 2 3 if (GEngine){ GEngin..

[21]언리얼 오브젝트 처리

1) 가비지 콜렉션: 더이상 레퍼런싱되지 않거나 명시적으로 소멸예약시킨 UObject*를 주기적으로 정리한다. 가비지 콜렉션이 발생하면 엔진은 루트세트*부터 시작해서 알려진 UObject레퍼런스 트리를 검색하여 레퍼런싱된 오브젝트를 전부 추적할수 있다. 이때 레퍼런싱 되지 않은 오브젝트는 더이상 필요치않은 오브젝트라 가정하고 제거된다. 살리고싶은 오브젝트는 UPROPERTY* 레퍼런스 를 유지해주어야한다. 엑터는 예외: 엑터가 속한 레벨에 의해 레퍼런싱되어있어서.->Destroy()로 명시적 소멸예약이 가능하다. *UObject: 기본 구성 요소, UClass와 함께한다. 프로퍼티와 메소드의 반영, 프로퍼티의 시리얼라이제이션, 가비지 컬렉션, 이름으로 UObject 찾기, 프로퍼티에 환경설정 가능 값, ..

[19] UE4 C++_tutorial 01

*Timer 타이머는 FTimerManager로 관리되고 어떤 델리게이트 유형도 할당시킬 수 있다. CountDown.h 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #pragma once #include "GameFramework/Actor.h" #include "Countdown.generated.h" UCLASS() class UE4_TUTORIAL_API ACountdown : public AActor { GENERATED_BODY() public: // Sets default values for this actor's properties ACountdown(); // C..

[17]액터

1)AActor 레벨에 배치할 수 있는 오브젝트는 전-부 이 클래스. ex)AStaticMeshActor, ACameraActor, APointLight ... AActor는 반드시 최소 하나의 USceneComponent가 들어있어야 하고, 여기에는 그 AActor에 대한 이동, 회전, 스케일이 들어있다. 액터에는 어느 컴포넌트가 루트역할을 할지 나타내는 RootComponent*도 있다. 트랜스폼(위치, 회전, 스케일) 데이터를 직접 저장하지 않고 액터의 루트 컴포넌트에 데이터가 존재하는경우, 그 데이터를 사용한다. 여러가지 유형의 컴포넌트를 사용하여 액터의 이동 및 렌더링 방식을 제어할수 있다. 또다른 기능: 플레이 도중 네트워크를 통한 프로퍼티 및 함수 호출의 리플리케이션* AActor 수명 도중..

[16] UE4 C++ 프로그래밍 입문_0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include "GameFramework/Actor.h" #include "MyActor.generated.h" UCLASS() class AMyActor : public AActor { GENERATED_BODY() public: // 이 액터의 프로퍼티에 기본값을 설정합니다. AMyActor(); // 매 프레임 호출됩니다. virtual void Tick( float DeltaSeconds ) override; protected: // 게임 시작 또는 스폰시 호출됩니다. virtual void BeginPlay() override; }; Colored by Color Scripter cs *클래스 마법사 클래스를..