Class UCLASS 키워드
1. BlueprintType = C++ 클래스를 블루프린트에서 변수로 선언이 가능한 타입으로 지정
2. Blueprintable : 블루프린트에서 C++ 클래스를 상속가능
==============================================================================================
변수 UPROPERTY 키워드
1 2 3 4 5 6 | UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Power") float InitialPower; UPROPERTY(VisibleAnywhere, Category = "Power") float CharacterPower; | cs |
첫 번째 지정자
1. BlueprintReadWrite = 블루프린트에서 읽고 쓰기가 가능
2. BlueprintReadOnly = 블루프린트에서 읽기만 가능(값이 항상 고정된다.)
두 번째 지정자
Edit = 편집 가능한지, Visible = 보여주기만 할 것인지
DefaultsOnly = 클래스 설계도에서만
InstanceOnly = 인스턴스 마다
Anywhere = 둘다.
1. EditDefaultsOnly
2. VisibleDefaultsOnly
3. EditInstanceOnly
4. VisibleInstanceOnly
5. EditAnyWhere
6. VisibleAnyWhere
세 번째 지정자
Category = "Power" = 카테고리가 Power로 들어가 있어서 디테일 창이나 에디터 창에서 power을 검색하면 쉽게 찾을수 있다.
네 번째 지정자
1 2 | UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "Stat", meta = (AllowPrivateAccess="true")) float BaseDamage; | cs |
C++를 상속 받는경우 public이나 protected 변수만 사용가능하지만 AllowPrivateAccess= true로 할 경우 Accessor를 통해서 사용할 수 있다.
이럴경우 OOP(Object-Oriented Programming , 객체지향 프로그램) 설계를 따르면서 변수에 접근 또한 가능해 진다.
객체 지향과관련하여...
OOP = SOLID https://gmlwjd9405.github.io/2018/07/05/oop-solid.html
블로깅 당시 버전 = 언리얼 4.10 버전, 2.18 버전
==============================================================================================
UFUNCTION 매크로 관련
1. BlueprintCallable = 블루 프린트에서 호출이 가능하다. 하지만 블루프린트에서 편집이 가능하지 못하다.
*이 매크로를 사용하려면 뒤에 Category 를 지정해주어야 오류가 나지 않는다.
Category 지정시 |키를 이용하여 하위 경로를 지정할수 있다
2. BlueprintImplementableEvent = c++가 아닌 블루 프린트에서 작성되는 함수이다.
3. BlueprintNativeEvent = 위 두가지를 합친것인데 프로그래밍 코드를 블루프린트로 덮어 씌울수 있다. 함수명 +"_Implementation"을 붙여준다.
ex)
class TestActor
void TestFunc(); // 1번
virtual void TestFunc_Implementation(); //2번
TestActor을 블루프린트로 전환했을 경우 TestFunc을 불러와서 그래프에서 함수 내부를 설계해주면 된다. 하지만 만약
함수를 불러왔는데 내부 구현을 해주지 않았다면 TestFunc_Implementation 이 호출된다.
함수 혹은 프로퍼티의 설명이 나오게 해주는 주석 처리
단 한글은 안된다
==============================================================================================
ENUM 매크로 관련
==============================================================================================
meta 관련
* 프로퍼티를 디테일 창에서 조절할 경우 값의 범위를 정해주는 방법
작성시 = 4.11.2 버전
'프로그래밍 > Unreal Engine4' 카테고리의 다른 글
언리얼 C++ 함수와 사용예제 (0) | 2016.04.03 |
---|---|
언리얼 디테일 창에 enum 상태 띄우는 방법 (0) | 2016.04.02 |
***언리얼 사용시 코딩 규칙!!!*** (0) | 2016.03.28 |
언리얼- 튜토리얼 - BatteryCollector (0) | 2016.03.25 |
언리얼-튜토리얼 3rd Person Project AniFile Link (0) | 2016.03.22 |