각 VisualElement
에는 요소의 크기를 설정하는 스타일 프로퍼티와 화면에 요소를 그리는 방식(예: backgroundColor
또는 borderColor
)이 포함되어 있습니다.
스타일 프로퍼티는 C#으로 또는 스타일시트에서 설정됩니다. 스타일 프로퍼티는 고유한 데이터 구조(IStyle
인터페이스)로 다시 그룹화됩니다.
UIElements는 USS(Unity 스타일시트)로 작성된 스타일시트를 지원합니다. USS 파일은 HTML의 캐스케이딩 스타일시트(CSS)에서 영감을 받은 텍스트 파일입니다. USS 포맷은 CSS 포맷과 유사하지만, USS에는 Unity 작업을 향상하는 오버라이드와 커스터마이징 옵션이 포함되어 있습니다.
이 섹션에서는 USS, USS 구문, 그리고 CSS와의 차이점에 대해 설명합니다.
Unity 스타일시트(USS)의 기본 빌딩 블록은 다음과 같습니다.
.uss
확장자를 사용해야 합니다.스타일 규칙의 일반적인 구문은 다음과 같습니다.
selector {
property1:value;
property2:value;
}
USS 구문은 CSS3에 대한 W3C 사양과 일치합니다. UIElements는 ExCSS 오픈 소스 파서를 사용하여 USS 선언을 파싱합니다. ExCSS 오픈 소스 파서에는 자체 테스트 제품군이 들어 있습니다.
Unity 스타일시트(USS)를 모든 시각적 요소와 연결할 수 있습니다. 스타일 규칙은 시각적 요소와 모든 해당 자손들에게 적용됩니다. 또한 스타일시트는 필요에 따라 자동으로 재적용됩니다.
AddStyleSheetPath()
메서드를 사용하여 USS를 시각적 요소와 연결하십시오. 또한 상위 폴더에 대한 상대 경로가 포함된 AddStyleSheetPath()
메서드를 제공해야 합니다. Unity가 USS 파일을 인식할 수 있도록 Assets
폴더 안에 있는 Resources
또는 Editor Default Resources
폴더에 배치하십시오.
EditorWindow
가 실행되는 동안 USS 파일을 수정하면 스타일 변경 사항이 즉시 적용됩니다.
스타일시트가 정의되면 시각적 요소의 UIElements 트리에 적용할 수 있습니다.
이 프로세스 동안 선택자는 요소와 매칭되어 어느 프로퍼티가 USS 파일에서 적용되었는지 확인합니다. 선택자가 요소와 매칭되면 스타일 선언이 요소에 적용됩니다.
예를 들어 다음의 규칙은 모든 Button
오브젝트와 매칭됩니다.
Button {
width: 200px;
}
VisualElement.AddStyleSheetPath()
메서드를 사용하여 스타일시트를 서브 트리에 연결할 수 있습니다.
UIElements는 다음 기준을 사용하여 시각적 요소와 스타일 규칙을 매칭합니다.
name
프로퍼티이러한 특성들이 스타일시트의 선택자에서 사용될 수 있습니다.
CSS에 익숙하다면 HTML 태그 이름, id
속성 및 class
속성 등과 같은 유사점을 발견할 수 있을 것입니다.