애니메이션의 통합

Animation 트랜지션 모드를 사용시 animator 컴포넌트를 컨트롤러 요소애 연결 합니다.

컨트롤러 요소에 Animator 컴포넌트를 연결시 Auto Generate Animation을 클릭하면 자동으로 실행

*UI애니메이션 트랜지션 모드는 Unity 래거시(legacy) 애니메이션 시스템과 호환되지 않습니다.

 


자동 레이아웃

자동 레이아웃 시스템은 중첩된 레이아웃(Horizontal Group, Vertical GROUP, Grid Group) 그룹에 있는 요소의 배치 방법을 제공

요소를 자동으로 컨텐츠 에 맞는 크기로 변경

자동레이아웃 시스템은 Rect Transform 시스템의 내장 시스템 입니다 일부를 쓸지 모두 쓸지 선택하여 실행할수 있다.



Layout Element의 이해

자동 레이아웃 시스템은 Layout_Element_와 Layout_controller_ 개넘에 근거 한것

Layout Element는 Rect Transform 이나 임의 컴포넌트도 가지고 있는 오브젝트

자신의 바람직한 크기를 정확하게 파악 함

자신의 크기를 직접 설정할 수 없지만 Layout Controller 기능을 가진 다른 컴포넌트는 사용하기 전에 크기 계산을 위해

제공된 정보를 사용할 수 있습니다.

/ Layout Element는 자신을 정의하는 다음과 같은 특성을 가지고 있다.

  • Minimum width
  • Minimum height
  • Preferred width
  • Preferred height
  • Flexible width
  • Flexible height

 

Layout Group의 요소 배치의 기본 원리 크기의 변경

*우선 minimum크기가 할당

*충분히 사용 가능한 공간이 있으면 preferred 크기가 할당

*아직 사용 가능한 공간이 있으면 flexible 크기가 할당 됩니다.

Rect Transform이 연결되어 있는 게임 오브젝트는 Layout Element로 동작 할수 있다. 연결된 오브젝트 들은 기본적으로

minimum, preferred, flexible 크기를 0으로 가지고 있음 - 특정 컴포넌트는 게임 오브젝트에 더해졌을 떄 그 특성을 변경합니다.

image와 Text 컴포넌트는 Layout Element의 프로퍼티를 제공하는 컴포넌트의 두가지 예

그들은 스프라이트 또는 텍스트 콘텐츠를 매치하기 위해 preferred width와 height를 변경합니다.

Layout Element 컴포넌트

minimum, preferred 또는 flexible 크기를 덮어쓰고 싶다면 게임 오브젝트에 Layout Element를 더함으로써 가능합니다.

 

Layout Element 컴포넌트는 하나 이상의 레이아웃 프로퍼티의 값을 덮어 쓰는데, 덮어 쓰고

싶은 프로퍼티의 체크 박스를 사용하여 덮어쓰려는 값을 지정 합니다

//자세한 설명은 여기로

http://docs.unity3d.com/kr/current/Manual/script-LayoutElement.html

Layout Controller의 이해

Layout Controller는 Rect Transform을 가진 게임 오브젝트 크기 조절 및 경우에 따라서는 하나 이상의

레이아웃 요소의 위치를 관리하는 컴포넌트 입니다.

Layout Controller는 Layout Elment(그 자체가 연결되어 있는 동일한 게임 오브젝트) 또는 자식의 Layout Element를

제어할 수 없습니다.

Layout Controller 역활을 하는 컴포넌트는 동시에 Layout Element로서도 동작할수 있습니다

Content Size Fitter

Content Size Fitter는 자신의 Layout Element의 크기를 관리하는 Layout Controller 역활을 합니다.

자동 레이아웃 시스템의 동작을 보는 방법으로 가장 간단한것은 Content Size Fitter 컴포넌트를 Text 컴포넌트를 가진

게임 오브젝트에 더하는 것입니다.

Horizontal Fit과 Vertical Fit중 하나를 Preferred로 설정하면 Rect Transform은 자신의 width 및/또는 Height를 텍스트 콘텐츠에 맞게

조정합니다

Aspect Ratio Fitter

Aspect Ratio Fitter는 자신의 Latout Element의 크기를 제어하는 Layout Controller역활을 합니다

height를 width에 맞게 혹은 그반대로 조정할수 있습니다. 혹은 요소를 그 부모, 또는 부모의 envelope 안쪽에 맞출 수 있습니다.

Aspect Ratio FItter는 minimum크기와 preferred 크기와 같은 레이아웃 정보를 고려하지 않습니다.

Layout Groups

Layout Group은 자식의 Layout Element의 크기와 위치를 제어하는 Layout Controller 컴포넌트 역활도 함

Layout group은 자신의 크기는 관리를 안하며 대신 다른 Layout Controller에 관리되고 있거나 또는 수동으로 설정된 Layout Element 의 역활을 수행합니다

Layout Group에 할당된 크기가 어떤것이라도 대부분의 경우 자식 요소로 보고되는 minimum, preferred, flexible크기에 따라 자식의 Layout Element각각의

영역에 적절한 양을 할당하려고 합니다.

구동하는 Rect Transform 프로퍼티

자동 레이아웃 시스템의 Layout Controller는 특정 UI요소의 크기와 위치 선정을 관리 할수 있다.

크기와 위치를 인스텍터창이나 씬뷰를 통해 수동으로 편집 해서는 안됨

-설정시 다음 레이아웃 계산에서 Layout Controller를 통해서 재설정 됩니다.

Rect Transform 에는 _구동하는(driven) Property를 취급하는 개념이 있음

기술적인 세부 사항

사용자 정의 방식으로 레이아웃을 관리하는 컴포넌트를 생성 가능

이것은 특정 인터페이스를 구현한 컴포넌트를 가짐으로써 실행됩니다

레이아웃 인터페이스

ILayoutElement 인터페이스를 구현하는 경우 컴포넌트는 자동레이아웃에 의해 Layout Element로 처리됨.

ILayoutGroup 인터페이스를 구현하는 경우 컴포넌트는 컴포넌트는 자식의 Rect Transform을 작동시키는 것을 예상합니다.

ILayoutSelfController 인터페이스를 구현하는 경우 컴포넌트는 자신의 Rect Transform을 작동시키는걸 예상합니다.

레이아웃 계산

자동 레이아웃 시스템은 다음과 같은 순서로 평가*수행 합니다.

Posted by 테루키스
: