UI를 렌더링하고 게임 뷰에서 사용자의 입력에 반응하려면 UXML 문서를__ UI__(사용자 인터페이스) 사용자가 애플리케이션과 상호 작용하도록 해 줍니다. Unity는 현재 3개의 UI 시스템을 지원합니다. 자세한 정보
See in Glossary Document 컴포넌트로 Panel Settings 에셋에 연결합니다.
모든 UI Document 컴포넌트는 UI를 정의하는 UXML 문서와 렌더링하는 Panel Settings를 참조합니다. 하나의 Panel Settings 에셋에 두 개 이상의 UXML 문서를 연결할 수 있습니다.
Panel Settings 에셋은 씬의 패널을 정의합니다. 패널은 UI 계층 구조가 연결된 루트 시각적 요소를 제공하고 런타임 시 씬에 UI를 드로우합니다. Panel Settings 에셋을 설정하는 방식은 UI가 렌더링되는 방식을 결정합니다. 또한 UI가 입력에 어떻게 반응하는지도 결정합니다. 예를 들어, 전면에 표시되는 패널은 사용자의 클릭을 후면에 표시되는 패널보다 먼저 인터셉트합니다.
패널 설정 에셋을 설정하여 다음을 수행할 수 있습니다.
패널을 설정하려면:
패널은 둘 이상의 UXML Document 컴포넌트의 UI를 표시할 수 있습니다. 각 UI 문서에는 UXML 문서 렌더링 순서를 설정하는 Sort Order 프로퍼티가 있습니다.
패널에 둘 이상의 UXML 문서를 연결하려면 다음을 수행합니다.
UI를 호스팅할 게임 오브젝트를 선택하거나 생성합니다.
Component > UI Toolkit > UI Document를 선택하여 UI Document 컴포넌트를 추가합니다.
UIDocument의 인스펙터 창에서 다음을 수행합니다.
각 UXML 문서에 대해 이 과정을 반복합니다.
참고: 동일한 Panel Settings에 연결된 여러 UI Document 컴포넌트가 있는 경우 모든 문서에는 공통적인 포커스 내비게이션 컨텍스트가 있습니다. 서로 다른 Panel Settings가 있는 경우 내비게이션을 나란히 배열하더라도 내비게이션이 자동으로 이동하지 않습니다. 내비게이션이 다른 쪽으로 이동하도록 하려면 Panel Settings의 focusController를 이동하려는 UI Document 컴포넌트의 FocusController로 설정해야 합니다.
Unity는 컴포넌트에서 OnEnable() 메서드를 호출할 때 UI Document 컴포넌트의 소스 UXML 문서를 로드합니다. 시각적 트리가 올바르게 로드되도록 하려면 OnEnable() 메서드 내부의 컨트롤과 상호 작용하는 로직을 추가합니다. 즉, 스크립트가 UXML 문서의 시각적 요소를 안전하게 참조하려면 OnEnable() 및 OnDisable()에 반응해야 합니다.
UI Document 컴포넌트는 OnEnable() 및 OnDisable() 메서드에 반응할 때 해당 콘텐츠를 지웁니다. 이 접근 방식은 UI Document가 곧 재사용하지 않을 UI 요소를 제거하고 관련 리소스를 효과적으로 지웁니다. 또한 UI Document 컴포넌트가 Panel Settings 에셋과 함께 할당되지 않은 경우 해당 콘텐츠가 자동으로 지워집니다.
곧 재사용될 가능성이 있거나 초기화 페널티를 피하기 위해 빠르게 표시되어야 하는 UI 요소를 숨기려면 UIDocument.rootVisualElement의 display를 none으로 설정합니다. 더 큰 UI 계층 구조의 일부인 UI 요소 컴포넌트를 숨길 때도 사용할 수 있습니다.