[UE4] 언리얼 엔진 문서로 배우는 C++

혀니앤·2022년 6월 11일
0

UnrealEngine

목록 보기
11/12

https://docs.unrealengine.com/5.0/ko/unreal-engine-cpp-quick-start/

헤더 파일

헤더 파일의 클래스에는 A**** 형식으로 내가 지어준 이름의 값이 뒤에 들어감 => Actor 라는 뜻
클래스의 시작과 GENERATED_BODY 사이에는 값을 써주지 않는다
=> 엑터 클래스

  • BeginPlay와 Tick 함수는 기존의 Actor 클래스의 vitural 함수를 override 해주는 것

  • 그래서 cpp 파일에서 Super를 통해 함수를 상속받아 작성해주는 것을 알 수 있다

프로퍼티 지정자

https://docs.unrealengine.com/5.0/ko/unreal-engine-uproperties/

UPROPERTY(EditAnywhere, Meta = (Bitmask, BitmaskEnum = "EColorBits"))
int32 ColorFlags;

이런 식으로 변수를 선언할 때 이 변수의 지정자를 놓을 수 있다

  • EditInstanceOnly : 맨처음 선언할때만 값을 지정하게 한다
  • BlueprintCallable : 블루프린트에서 이 변수를 사용할 수 있다

동일한 계열의 선언은 한번만 가능하다. ex) EditAnywhere / EditDefaultsOnly 은 동시에 선언이 불가능하다

https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/GameplayArchitecture/Functions/
함수도 똑같이 프로퍼티를 지정할 수 있다

화면 텍스트 값 변경하기

https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/CPPTutorials/VariablesTimersEvents/

	int32 maxCountDownTime = FMath::Max(CountDownTime, 0);
	FString text = FString::FromInt(maxCountDownTime);  //1, Fstring
	FString text = FString::Printf(TEXT("%d"), maxCountDownTime); // 2, FText

	CountText->SetText(text);

텍스트 값을 변경할 때는 FText, FString 두 개의 값을 넣을 수 있다.

화면에 텍스트를 띄우고 변경해보았다

C++, BluePrint 함수 프로퍼티 정의

	UFUNCTION(BlueprintCallable) //블루프린트에서 호출 가능함. 정의는 코드에서
		void BluePrintCallableFunc();

	UFUNCTION(BlueprintImplementableEvent) //블루프린트에서 정의함
		void BlueprintImplementableEventFunc();

	UFUNCTION(BlueprintNativeEvent) //블루프린트와 C++ 코드에서 모두 수정 가능함
		void BlueprintNativeEventFunc(); //블루프린트에서 정의
		void BlueprintNativeEventFunc_Implementation();  //C++ 코드에서 정의

이런 식으로 프로퍼티를 다르게해서 BP와 C++을 섞어서 코딩할 수 있다
함수를 정의해놓음으로써 BP에서 코드 내부를 구하더라도 호출은 C++ 코드에서 할 수 있다

함수를 여러개 호출해보면 어떻게 호출할 수 있는지 알 수 있다

profile
일단 시작하기

0개의 댓글