성능이 악랄하다는 Unity Auto Layout을 개조시키기 위해 공부중입니다.
레이아웃의 요소의 최소(minimum), 기본(preferred) 또는 유연한 크기(flexible)를 재정의하려는 경우 'Layout Element' 컴포넌트를 게임오브젝트에 추가하여 이를 수행할 수 있습니다.
레이아웃 컨트롤러는 다음 순서로 레이아웃 요소에 너비 또는 높이를 할당합니다.
- 먼저 레이아웃 컨트롤러는 최소 크기 속성(Min Width, Min Height)를 할당합니다.
- 사용 가능한 공간이 충분하면 레이아웃 컨트롤러는 선호하는 크기 속성(Preferred Width, Preferred Height)을 할당합니다.
- 사용 가능한 추가 공간이 있는 경우 레이아웃 컨트롤러는 유연한 크기 속성(Flexible Width, Flexible Height)를 할당합니다.
최소, 기본 및 유연한 크기에 대한 자세한 내용은 Auto Layout 설명서를 참조하세요. (바로 전 글입니다)
너비 또는 높이 속성을 활성화하면 그 옆에 값 필드가 나타납니다. 이 값 필드를 사용하여 너비 또는 높이에 대한 정확한 값을 입력합니다. 최소 및 기본 크기는 일반 단위이고 유연한 크기는 상대 단위입니다.
Ignore Layout: 활성화되면 레이아웃 시스템은 이 레이아웃 요소를 무시합니다.
Min Width: 이 레이아웃 요소가 가져야 하는 최소 너비입니다.
Min Height: 이 레이아웃 요소가 가져야 하는 최소 높이입니다.
Preferred Width: 사용 가능한 추가 너비가 할당되기 전에 이 레이아웃 요소가 가져야 하는 기본 너비입니다.
Preferred Height: 사용 가능한 추가 높이가 할당되기 전에 이 레이아웃 요소가 가져야 하는 기본 높이입니다.
Flexible Width: 이 레이아웃 요소가 형제 요소를 기준으로 채워야 하는 추가 사용 가능한 너비의 상대적인 양입니다.
Flexible Height: 이 레이아웃 요소가 형제를 기준으로 채워야 하는 추가 사용 가능한 높이의 상대적인 양입니다.
Layout Priority: 이 구성 요소의 레이아웃 우선순위입니다.
Layout Priority
GameObject에 레이아웃 속성이 있는 구성요소가 두 개 이상 있는 경우(예: Image 구성 요소 및 LayoutElement 구성 요소) 레이아웃 시스템은 레이아웃 우선 순위가 가장 높은 구성 요소의 속성 값을 사용합니다. 구성 요소의 레이아웃 우선 순위가 동일한 경우 레이아웃 시스템은 해당 구성 요소의 출처와 관계 없이 각 속성에 대해 가장 높은 값을 사용합니다.
설명
Layout Element 구성 요소를 사용하면 하나 이상의 레이아웃 속성에 대한 값을 재정의할 수 있습니다. 재정의할 속성에 대한 확인란을 활성화한 다음 재정의할 값을 지정합니다. 최소 및 기본 크기는 일반 단위로 정의되고 유연한 크기는 상대 단위로 정의됩니다. 레이아웃 요소의 유연한 크기가 0보다 큰 경우 사용 가능한 모든 공간이 채워진다는 의미입니다. 형제의 상대적인 유연한 크기 값은 각 형제가 채우는 사용 가능한 공간의 비율을 결정합니다. 가장 일반적으로 유연한 너비와 높이는 0 또는 1로 설정됩니다.
특정 경우에는 기본 크기와 유연한 크기를 모두 지정하는 것이 합리적일 수 있습니다. 유연한 크기는 선호하는 모든 크기가 완전히 할당된 후에만 할당됩니다. 따라서 유연한 크기가 지정되었지만 선호하는 크기가 없는 레이아웃 요소는 다른 레이아웃 요소가 선호하는 전체 크기로 커질 때까지 최소 크기를 유지한 다음 사용 가능한 추가 공간을 기반으로 성장하기 시작할 것입니다. 유연한 크기를 사용하여 이를 방지할 수 있으며 요소는 선호하는 크기를 가진 다른 레이아웃 요소와 함께 선호하는 크기로 성장할 수 있습니다. 그런 다음 모든 유연한 크기가 할당되면 더 커질 수 있습니다.
'유니티 > UI System' 카테고리의 다른 글
[UGUI] Unity Auto Layout, 유니티 UI 레이아웃 시스템 (0) | 2022.04.07 |
---|---|
[UIToolkit]UXML 템플릿 작성 - 1 (0) | 2022.03.30 |
[UIToolkit]UXML을 사용한 UI 구조 (0) | 2022.03.30 |
[UIToolkit]레이아웃 엔진 (0) | 2022.03.30 |
[UIToolkit]Visual Tree (0) | 2022.03.25 |