UDN
Search public documentation:

UnrealScriptMetadataKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 언리얼스크립트 > 언리얼스크립트 언어 참고서 > 언리얼스크립트 메타데이터

언리얼스크립트 메타데이터


문서 변경내역: Tim Sweeney 원저. 홍성진 번역.

개요


변수에는, 엔진이나 에디터의 기능을 확장하기 위해 사용되는 메타데이터 형태의 추가 정보를, 변수 단위별로 지정할 수도 있습니다. 메타데이터는 다른 것보다도 표시 이름, 툴팁, 최소 최대값 등을 지정하는 데 쓰입니다.

메타데이터 지정하기


임의의 메타데이터는 다음과 같이 UnrealScript 의 프로퍼티에 링크시킬 수 있습니다:

변수의 경우:

var float MyVar<TAG=VALUE>

enum 의 경우:

enum EMyEnum
{
   EME_ValA<TAG=VALUE>,
   EME_ValB<TAG=VALUE>,
};

다중 메타데이터 지정 사용하기

같은 프로퍼티에 대해 | 글자로 구분된 다중 메타데이터 지정을 사용할 수 있습니다.

예:

var()   LinearColor    DrawColor<DisplayName=Draw Color|EditCondition=bOverrideDrawColor>;

가용 메타데이터 지정

Available MetaData Specifications

현재 지원되는 메타데이터 태그와 그 역할은 이렇습니다:

ToolTip=TEXT_STRING
에디터 프로퍼티 창의 해당 프로퍼티에 마우스 커서가 올려져 있을 때 TEXT_STRING 을 툴팁으로 표시합니다.
주: 스크립트 컴파일러가 /** 설명 */ 코멘트 부분을 ToolTip 메타데이터로 자동 전환하는 기능이 지원됩니다.
DisplayName=TEXT_STRING
에디터 프로퍼티 창에서 프로퍼티가 그 실제 이름 대신 TEXT_STRING 으로 표시되도록 합니다.

예:
   Var() bool bEnableSpawning<DisplayName=Spawning Enabled>;
   

경고: DisplayName 을 enum 으로 사용하면, 에디터 콤보 박스의 enum 을 소팅하기 위해 UPropertyInputCombo 수정시 문제가 발생할 수 있습니다.
ClampMin/ClampMax=FLOAT_VALUE
프로퍼티의 값을 제한시킵니다. ClampMin, ClampMax 중 하나만 있는 경우, 프로퍼티는 표준 스피너 콘트롤을 사용하지만 제대로 제한됩니다. 둘 다 지정된 경우, 프로퍼티는 제대로 제한되는 슬라이더/에딧박스 콘트롤을 대신 사용합니다. 더욱 자세한 내용은 제한 (Clamp) 부분을 참고하시기 바랍니다.
UIMin/UIMax=FLOAT_VALUE
ClampMin/ClampMax 와 함께 슬라이드 바 콘트롤 범위를 지정하는 데 사용할 수 있습니다. UIMin, UIMax 중 하나가 지정되지 않으면, 상응하는 Clamp* 메타데이터가 대신 사용됩니다. 이는 슬라이더 바에만 영향을 끼치며, 콘트롤의 에딧 박스 부분은 Clamp* 값만 따릅니다. 더욱 자세한 내용은 제한 (Clamp) 부분을 참고하시기 바랍니다.
ArrayClamp=ArrayProeprtyName
Int 프로퍼티의 값을 배열 프로퍼티의 유효 영역으로 제한시킵니다. 즉 지정된 배열에 항목이 4 개 있다면, Int 프로퍼티는 0 에서 3 까지로 제한된다는 뜻입니다. 배열로의 인덱스를 지정하는 프로퍼티에 대해, 디자이너나 아티스트가 잘못된 메모리에 접근하는 값을 설정하지 못하게 하는 데 좋습니다. 더욱 자세한 내용은 제한 (Clamp) 부분을 참고하시기 바랍니다.
EditCondition=ConditionalPropertyName
다른 (불리언) 프로퍼티의 값에 따라 에디터 프로퍼티의 편집가능 상태를 켜고 끌 수 있습니다. 예를 들어 MyPackage.MyClass UnrealScript 클래스에 다음과 같이 구성할 수 있습니다:
   /** 스폰 스위치 입니다. */
   Var() bool bEnableSpawning;

   /** AI 스폰 속도를 설정합니다. bEnableSpawning = TRUE 가 아니면 효과가 없습니다.*/
   Var() float RespawnsPerSecond<EditCondition=bEnableSpawning>;
   

그러면 bEnableSpawningFALSE 가 될 때마다 에디터의 RespawnsPerSecond 가 회색으로 흐려집니다. 디자이너의 혼동을 줄이는 데 도움이 됩니다.

중요: 이 메타데이터 세팅은 제어 변수 (RespawnsPerSecond) 가 커스텀 프로퍼티 아이템 바인딩 (WxCustomPropertyItem_ConditionalItem) 을 활용해야 합니다.

이 기능을 켜려면 [Game]Editor.ini 에서 다음과 같이 걸어줘야 합니다:
   [UnrealEd.CustomPropertyItemBindings]
   CustomPropertyClasses=(PropertyPathName=" MyPackage.MyClass: RespawnsPerSecond ",PropertyItemClassName="WxCustomPropertyItem_ConditionalItem")
   
MultilineWithMaxRows=INT_VALUE
프로퍼티 창에서 여러줄 텍스트박스를 사용하는 String 프로퍼티를, 줄 수를 지정해서 만들 수 있습니다. 텍스트박스는 한 줄로 시작해서 지정된 INT_VALUE 줄 수까지 텍스트 입력에 따라 늘어납니다. 최대 줄 수에 도달하면 텍스트 박스는 스크롤 됩니다.
bShowOnlyWhenTrue=PropertyName
프로퍼티 창에 표시되는 프로퍼티를 [Game]EditorUserSettings.ini 파일의 [UnrealEd.PropertyFilters] 부분 아래 구성된 프로퍼티 필터 값에 따라 제어합니다.
FriendlyName=TEXT_STRING
UI 에디터 에서 사용됩니다.
AllowAbstract
Class 프로퍼티에 추상 클래스가 존재하는 경우, 해당 프로퍼티를 편집하는 에디터 드롭다운 박스에 추상 클래스가 포함됩니다. 존재하지 않으면 구체적인 클래스만 표시됩니다. 이 메타데이터 지정에는 True 나 False 같은 값을 지정할 필요가 없습니다.
AutoComment=BOOLEAN_VALUE
키즈멧 시퀸스 액션의 프로퍼티에 추가하면, 프로퍼티와 그 현재 값이 해당 액션 위에 코멘트로 자동 표시됩니다. 이 기능이 발휘되는 것을 확인하려면, 스크립트에 "Gate" 시퀸스 액션을 새로 놔 보십시오. 이 클래스에서는 bOpen 과 AutoCloseCount 둘 다 이 메타데이터 옵션을 사용합니다.