항상 코드를 작성하며, 위처럼 UPROPERTY의 설정을 해야했다.
어떤 동작인지 명확히 알 필요가 있다고 생각해서 정리해본다.
아래의 영상을 참고하였다.
1. UPROPERTY 지정자
1-1. EditAnywhere / EditDefaultsOnly / EditInstanceOnly
- EditAnywhere
- BP와 배치된 BP인스턴스에서 값을 보고 변경할 수 있다.
- EditDefaultsOnly
- EditInstanceOnly
- 배치된 BP인스턴스에서만 값을 보고 변경할 수 있다.
1-2. VisibleAnywhere / VisibleDefaultsOnly / VisibleInstanceOnly
- VisibleAnywhere
- BP와 배치된 BP인스턴스에서 값을 보기만 할 수 있다.
- VisibleDefaultsOnly
- VisibleInstanceOnly
- 배치된 BP인스턴스에서만 값을 보기만 할 수 있다.
1-3. BlueprintReadWrite / BlueprintReadOnly
- BlueprintReadWrite
- BlueprintReadOnly
1-4. Category
- 해당 속성이 담긴 Category를 지정하고 생성할 수 있다.
Category = "Data | ExpData"
라고 적는다면,
Data 밑의 ExpData라는 하위 카테고리를 만들 수 있다.
( |
를 여러번 작성하여 더 많은 계층도 가능하다)
UPROPERTY에 넣을 수 있는 지정자 외에,
Meta Tag라는 것도 존재한다.
Meta tag는 기본적으로,
UPROPERTY(--- , ---, meta = (---, ---))
이런식으로 meta = ( ) 괄호 내부에 작성해야한다.
대표적인 것은 private변수에 사용하는 그 태그가 있다.
2-1. AllowPrivateAccess = "true"
- AllowPrivateAccess
- 보통 false는 의미가 없기때문에 사용하지 않는다.
- true를 사용하고, BlueprintReadWrite나 Only를 사용한다.
- private로 작성은 했지만, BP에서 사용하고 싶은 경우에 작성한다.
- 사용할 일은 없을 것 같다. 간략히 적는다.
- DisplayName = "A"
- 처럼 적는다면,
BP나 BP인스턴스에서 보여질 때, A라는 변수명으로 보이게 된다.
(실제 코드상 변수명과 다른 이름으로 보여지는 것 뿐)
- Tooltip = "A is Just an Alphabet"
- 처럼 적는다면,
BP나 BP인스턴스에 보여질 때, 변수명위에 마우스를 올리면
나타나는 설명창에 해당 설명이 보이게 된다.
2-3. ClampMin / ClampMax
- ClampMin = "10", ClampMax = "150"
- 처럼 적는다면,
속성값의 최소값이 10, 최대값이 150이 되어,
값을 변경할 경우, 해당 범위 안의 수만 설정할 수 있도록 제한이 걸린다.