♣ 현업에서 자주 사용하는 Attribute 모음
5. Range
- Range 속성은 슬라이드 바를 통해 값을 지정할 수 있도록 하는 편의 속성이다. 최솟값, 최댓값 을 지정하여 범위내에 값을 슬라이드 바로 조정할 수 있다.
[Range(0,1)]
public float rangeControl;
결과 화면
6. ColorUsage
- ColorUsage 속성값은 지정되지않은 색상값을 스포이드나 RGB,HDR 값을 통해 변경할 수 있도록 하는 속성이다.
[ColorUsage(false,true)]
public Color testColor;
[ColorUsage (알파값 , HDR)] 알파값, HDR 에 대한 활성화 여부를 (true, false) 를 통해 지정하면된다.
결과화면
7. ExecuteInEditMode
- ExecuteInEditMode는 스크립팅 메소드 프레임마다 호출되는 Update() 메소드에서 실행되는 내용을 런타임이 아닌 상황에서 볼 테스트 해볼 수 있도록 하는 속성이다.
[ExecuteInEditMode]
public class ExcuteAttributeTest : MonoBehaviour
{
public Transform target;
// Update is called once per frame
void Update()
{
if(target != null)
{
transform.LookAt(target);
}
}
}
해당 방법은 class 상위에 [ExecuteInEditMode] 를 선언해주면 된다.
해당 스크립팅은 스크립트가 있는 오브젝트가 Target 에 해당하는 오브젝트를 바라보게 끔 하는 예제이다.
https://docs.unity3d.com/kr/530/ScriptReference/ExecuteInEditMode.html
유니티 기본예제임으로 참고하면 된다.
결과화면
◈ Target 1을 바라보는 결과
◈ Target 2을 바라보는 결과
◈ Target 3을 바라보는 결과
※ Play 모드를 켜지 않아도 결과값을 확인할 수 있다는 점에서 활용성이 높다.
8. RequireComponent(typeof(Component))
- 클래스를 생성하고 필수적으로 필요한 컴포넌트들을 자동적으로 추가하게끔 하는 속성값이다.
공통적으로 사용되는 클래스를 오브젝트에 삽입할 때, 기본적인 컴포넌트를 넣어두게끔 하여 실수를 줄일 수 있다.
[RequireComponent(typeof(Rigidbody))]
public class RequireTest : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
사용방법은 클래스 상단에 [RequireComponent(typeof(Component))] 를 기입하면 된다.
결과화면
'Unity > UnityEditor' 카테고리의 다른 글
[UnityEditor] 인스펙터에서 Scene 로드 하는 방법 (1) | 2023.03.28 |
---|---|
[Localization] OdinInspector 와 Localization Editor 충돌 해결 (0) | 2022.10.14 |
[UnityEditor] 유니티 Attribute 인스펙터 정리 #1 (2) | 2022.08.24 |