[unrealengine4_C++] 6

[C++] 함수 기본인수 / AnimInstance 클래스 생성

Tip - 프로젝트 전체에 걸쳐 공통적으로 자주 사용되는 내용이 있다면 프로젝트명(GPC_CPP_12).h 헤더파일에 #include로 미리 포함시켜주고, 프로젝트명(GPC_CPP_12).h 헤더파일을 가져다 사용하면 좋다. 함수에 기본인수 추가하기 기본 인수를 추가하는 방법에는 정적 멤버변수, 매크로 두 가지 방법이 있다. //매크로 #define DEFAULT_KEY (INDEX_NONE) #define DEFAULT_DURATION (5.0f) #define DEFAULT_COLOR (FColor::Cyan) //정적 멤버변수 static int32 const Key1; //다른 cpp파일에서 정의를 따로 해줄 수 있음 int32 const Logger::Key1 = 0; 정적 멤버변수는 선언과 정..

[unrealengine4_C++] 2023.09.11

[C++] Logger(UE_LOG, GEngine)

Log 다뤄보기 이번엔 Log에 관해 배워볼 것이다. 먼저 언리얼 에디터에서 Logger 클래스(부모 클래스 없음)를 만들어준다. 만들어진 Logger 클래스 안에 있는 생성자와 소멸자는 지워준다. // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" class GPC_CPP_12_API Logger { public: /* @param Data Integer Data To Be Logged @param Test Just For Test */ static void Log(int32 const& Data); static void Log(float cons..

[unrealengine4_C++] 2023.09.11

[C++] UFUNCTION()

UFUNCTION(...) 새로운 리플렉션의 방법 중 하나이다. public: UFUNCTION(BlueprintCallable) //블루프린트 사용 void LogMeshName(); UFUNCTION(BlueprintImplementableEvent) //오버라이드 void PrintMeshName(); UFUNCTION(BlueprintNativeEvent) //조금 다른 오버라이드 void LogAndPrintMeshName(); virtual void LogAndPrintMeshName_Implementation(); 함수를 선언하고, 해당 함수에 적용하는 방식으로 사용하게 된다. - BlueprintCallable : 블루프린트에서 함수를 불러 사용할 수 있다. - BlueprintImplem..

[unrealengine4_C++] 2023.09.11

[C++] 리플렉션 / UPROPERTY()

Tip * VS에서 빌드 했는데 오류가 발생하여 실패한다면, 출력창을 확인해보자. * Ctrl + M + M : VS에서 /* ~ */ 주석처리한 부분을 열고 닫는 단축키 * Ctrl + Shitf + U : VS에서 지정한 문자 전부 대문자 전환 * Ctrl + U : VS에서 지정한 문자 전부 소문자 전환 리플렉션(Reflection) 코드로 작성한 내용을 그대로 언리얼 에디터 블루프린트에 반영시키는 것이다. 런타임에 프로그램이 자기자신을 조사할 수 있게 하는 기능. 언리얼 매크로를 통해서 반영하고 있다. UPROPERTY(...) 변수에서 사용할 수 있다. 괄호 안에 들어가는 태그는 대소문자 구분할 필요는 없다. UPROPERTY(...) //여기 괄호 안에 여러가지 내용이 태그된다 UStaticM..

[unrealengine4_C++] 2023.09.11

[C++] 레퍼런스 / StaticMesh, Material 값 할당

저번 시간에 Cube클래스에서 Mesh 변수를 만들고 생성까지 했다. 이번에는 생성한 Mesh 변수 내부에 StaticMesh를 할당해줄 것이다. Tip * Ctrl + Shift + Space : VS에서 이 단축키를 통해 어떠한 값이 들어갈지 예시를 볼 수 있다. * 파일 4개(Config, Content, Source, UE4 파일)를 압축했던 프로젝트를 다시 사용하려면, UE4 파일을 우클릭하여 솔루션 을 미리 만들어준 뒤, VS or 언리얼 에디터에서 꼭 한번은 빌드를 해주어야 한다. * 클래스 내에서 ctor 치고 tab키를 누르면 자동으로 해당 클래스 struct가 완성됨 * 클래스 내에서 ~ 치고 tab키를 누르면 자동으로 해당 클래스의 소멸자가 완성됨 StaticMesh 할당하기 Stat..

[unrealengine4_C++] 2023.09.11

[C++] 프로젝트 생성 / 클라스 추가 및 삭제 / Root Component추가

언리얼 C++ 프로젝트 알아보기 새 프로젝트를 만들어준다, C++ 프로젝트로 생성할 것이다. *새 프로젝트를 생성 시 경로나 이름에 한글이 포함이 되지 않도록 한다. ※프로젝트 생성 오류 발생 만약 프로젝트 생성 시 아래와 같이 오류 발생 메시지가 뜨면서. NET Framework SDK 설치를 하라고 한다면 dotnet.microsoft 페이지로 가서. Net Framework에서 4.6.0 이상의 버전 아무거나 설치해 주면 된다. Visual Studio 버전 설정하기 프로젝트가 생성이 됐다면 VisualStudio와 언리얼 에디터 2개가 같이 실행된 것을 볼 수 있다. 만약에 본인이 VisualStudio사용하는 버전을 바꾸고 싶다면 '언리얼 에디터 편집 - 에디터 개인설정 - 일반 / 소스 코드'..

[unrealengine4_C++] 2023.09.11