=================================
=================================
=================================
출처: https://docs.unity3d.com/kr/530/Manual/UIBasicLayout.html
기본적인 레이아웃
이 섹션에서는 Canvas 및 기타 요소와 상대적으로 UI 요소를 배치하는 방법을 살펴 보겠습니다. 이 섹션을 읽고 있는 동안 테스트 해보기를 원한다면, 메뉴에서 GameObject -> UI -> Image를 사용하여 Image를 만들 수 있습니다.
Rect Tool에 대하여
모든 UI 요소는 레이아웃을 위해 사각형으로 표현됩니다. 이 사각형은 도구 모음의 Rect Tool을 사용하여 Scene View에서 작업할 수 있습니다. Rect Tool은 Unity의 2D 기능과 UI 모두에서 사용되며, 실제로 3D 오브젝트에서도 사용할 수 있습니다.
Rect Tool이 선택되어 있는 도구 모음 버튼
Rect Tool을 이용하면 주변의 UI 요소를 이동시키고, 크기를 변경하고, 회전하는 등의 일을 모두 할 수 있습니다. UI 요소를 한 번 선택하면 사각형 안의 아무 곳이나 클릭하여 드래그하면 이동시킬 수 있습니다. 가장자리 또는 모서리를 클릭하여 드래그하면 크기를 변경할 수 있습니다. 마우스 커서가 회전 기호를 표시할 때까지 커서를 모서리에서 놓으면 요소를 회전시킬 수 있습니다. 기호가 나타나면 회전시키기 위해 어느 방향에서나 클릭하여 드래그 할 수 있습니다.
다른 도구뿐만 아니라 Rect Tool 도구 모음에서 설정되어 있는 현재의 피벗 모드와 공간을 사용합니다. UI를 조작할 때, 평소에는 Pivot 과 Local을 설정하면 좋을 것입니다.
Pivot와 Local로 설정된 도구 모음 버튼
Rect Transform
Rect Transform은 일반적인 Transform 컴포넌트 대신 모든 UI 요소에 사용되는 새로운 트랜스폼 컴포넌트입니다.
Rect Transform은 일반적인 Transform과 마찬가지로 위치(position), 회전(rotation), 스케일(scale)을 가지고 있지만, 사각형의 치수를 결정하기 위해 폭(width)와 높이(height)도 가지고 있습니다.
리사이징 VS 스케일링
Rect Tool이 오브젝트의 크기 변경에 사용되는 경우, 2D 시스템의 Sprite와 3D 오브젝트를 위해 일반적으로 오브젝트의 로컬 _scale_을 변경합니다. 그러나 Rect Transform 컴포넌트가 연결된 오브젝트의 경우, 로컬 scale은 변경하지 않은 채 width와 height를 변경합니다. 이 리사이징은 글꼴 크기, 슬라이스 된 이미지의 경계선 등에 영향을 주지 않습니다.
피벗(Pivot)
회전(rotation), 크기(size), 스케일(scale)의 수정은 피벗 주위에서 발생하므로 피벗의 위치는 회전, 리사이징 스케일링의 결과에 영향을 줍니다. 툴바의 Pivot 버튼이 Pivot 모드로 설정되어 있으면 Rect Transform 피벗은 Scene View에서 이동시킬 수 있습니다.
앵커(anchor)
Rect Transform은 anchors라는 레이아웃의 개념이 있습니다. 앵커는 4개의 작은 삼각형 핸들로 Scene View에 표시됩니다 앵커의 정보는 인스펙터에 표시됩니다.
Rect Transform의 부모도 Rect Transform이면 자식의 Rect Transform은 다양한 방법으로 부모의 Rect Transform에 고정할 수 있습니다. 예를 들어, 자식은 부모의 중심 또는 모서리 중 하나에 고정할 수 있습니다.
부모의 중심에 고정된 UI 요소. 요소는 중심에 대해 고정 오프셋을 유지하고 있습니다.
부모의 오른쪽 하단에 고정된 UI 요소. 요소는 오른쪽 하단에 고정 오프셋을 유지하고 있습니다.
고정(anchoring)은 부모의 width 또는 height와 함께 자식을 늘리는 것을 허용합니다. 사각형의 각 모서리는 해당 앵커에 고정 오프셋을 가지고 있습니다. 즉, 구형의 왼쪽 상단 모서리는 왼쪽 상단 앵커에 고정 오프셋을 갖는 것입니다. 이와 같이, 사각형의 다른 모서리를 부모 사각형의 다른 점에 고정할 수 있습니다.
왼쪽 모서리를 부모 사각형의 왼쪽 아래 오른쪽 모서리가 오른쪽 하단 모서리에 고정된 UI 요소. 요소의 모서리는 각각의 앵커에 고정된 오프셋을 유지합니다.
앵커의 위치는 부모 구형의 width와 height를 분수(또는 퍼센트)로 정의한 것입니다. 0.0(0 %)은 왼쪽 또는 하단에, 0.5(50 %)은 중간에, 그리고 1.0(100 %)은 오른쪽 또는 상단에 대응하고 있습니다. 그러나 앵커는 끝이나 중간에 제한되는 것은 아닙니다. 그들은 부모 사각형 내의 어떠한 지점에도 고정할 수 있습니다.
왼쪽 모서리를 부모 사각형의 왼쪽에서 특정 백분율만큼 떨어뜨려 고정하고, 오른쪽 모서리를 부모 사각형의 오른쪽 맨 끝에서 특정 백분율만큼 떨어뜨려 고정한 UI 요소.
각각의 앵커를 개별적으로 드래그 할 수 있습니다. 또는 만약 그들이 함께 있으면, 그 중간을 클릭하고 드래그하여 함께 드래그 할 수 있습니다. 앵커를 Shift 키를 누른 상태로 드래그하면 사각형에 대응하는 코너는 앵커와 함께 움직입니다.
앵커 핸들의 편리한 기능은 정확한 위치 결정을 가능하게 하기 위해 핸들이 자동으로 형제 사각형의 앵커에 스냅하는 것입니다.
앵커 프리셋(Anchor presets)
인스펙터에서는 Anchor Preset 버튼이 Rect Transform 컴포넌트의 왼쪽 위의 모서리에 있습니다. 버튼을 클릭하면, 앵커 프리셋이 표시됩니다. 여기에서 바로 몇 가지 가장 일반적인 앵커 옵션 중 하나를 선택할 수 있습니다. 당신은 UI 요소를 부모의 가장자리 또는 중간에 고정하거나 부모의 크기에 따라 늘릴 수 있습니다. 수평 및 수직 고정은 별도입니다.
Anchor Presets 버튼은 선택되어 있는 것이 하나 있다면, 현재 선택되어 있는 프리셋 옵션을 표시합니다. 수평 또는 수직 축에서 앵커가 프리셋 중 하나와 다른 위치에 설정되어 있는 경우, 사용자 지정 옵션이 표시됩니다.
인스펙터에서의 앵커와 위치의 장소
아직 앵커 번호 필드가 표시되어 있지 않은 경우는 Anchor 확장 화살표를 클릭하여 필드를 표시할 수 있습니다. Anchor Min은 Scene 뷰에서 왼쪽의 앵커 핸들에 대응하며, Anchor Max는 오른쪽 상단의 앵커 핸들에 대응하고 있습니다.
사각형의 위치 필드는 앵커가 포함되어 있는지(fixed width와 height를 생성한다) 또는 분리되어 있는지(사각형이 부모 사각형과 함께 신축하는 원인이 된다)에 따라 다른 표시를 합니다.
모든 앵커 핸들이 함께인 경우, 필드는 Pos X, Pos Y, Width, Height를 표시합니다. Pos X와 Pos Y 값은 앵커에 상대적인 피벗의 위치를 나타냅니다.
앵커가 분리되어 있는 경우, 필드는 Left, Right, Top, Bottom을 부분적으로 또는 완전히 변경할 수 있습니다. 이 필드는 앵커에 의해 정의되는 사각형 안의 패딩을 정의합니다. Left와 Right 필드는 앵커가 수평으로 분리되어 있는 경우, Top 및 Bottom 필드는 수직으로 분리되어 있는 경우에 사용됩니다.
앵커 또는 피벗 필드의 값을 변경하면 일반적으로 소정의 위치에 사각형을 고정하기 위하여 위치의 취소 조정을 하는 것에 주의하십시오. 이것이 바람직하지 않은 것이면, 인스펙터의 작은 버튼을 이용하여 Raw Mode를 사용할 수 있습니다. 이에 따라 앵커와 피벗 값을 다른 값이 변경된 결과 이외의 것으로 변경할 수 있게 됩니다. 이제 위치와 크기가 앵커와 피벗 값으로부터 독립하기 위해 사각형을 시각적으로 이동하거나 크기를 조정할 수 있게 될 것입니다.
=================================
=================================
=================================
출처: http://www.devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=6374
오브젝트 회전시 Pivot을 변경하고 싶습니다.
오브젝트를 회전하는데 특정 위치의 Pivot을 중심으로 회전하고 싶은데 Pivot을 수정할 수 있는 변수나 함수들을 못찾겠습니다.
맥스라던지 기타 다른 엔진에서는 왠만하면 지원하는 기능이라 있을것 같긴한데 고수님들 답변 기다립니다....
-------------------------------------------------------------------------------------------------------------------------------------------------
유니티 좌상단 도구메뉴의 [Center]를 [Pivot]으로 변경해주고 Pivot값을 바꿔주면 되며
손표시가 있는 도구메뉴의 다섯번째도구를 클릭하면 피봇의 위치가 표시됩니다
=================================
=================================
=================================
출처: https://blog.danggun.net/4431
1. 앵커를 찾아라!
UI 패널(GameObject > UI > Panel)을 하나 생성합니다.
생성된 패널의 인스팩터를 확인하면 랙트 트랜스폼이 있습니다.
랙트 트랜스폼의 첫줄 왼쪽에 상자가 있습니다.
이것이 앵커 프리셋입니다.
씬(Scene)화면에서는 4개의 앵커로 앵커 프리셋의 상태를 알 수 있습니다.
아래는 앵커 프리셋이 'stretch stretch'로 설정되었을 때 앵커의 위치입니다.
앵커는 마우스로 옮길 수 있습니다. (각각 옮기는 것도 가능하고 따로따로 옮기는 것도 가능합니다.)
마우스로 임의로 설정하면 해당 앵커 프리셋은 'custom'으로 변경됩니다.
2. 앵커 프리셋 인터페이스 활용하기
앵커 프리셋을 클릭하면 어떻게 설정할지 인터페이스가 표시됩니다.
원하는 정의를 찾아 클릭하면 됩니다.
시프트(Shift)와 알트(Alt)를 조합하면 더 다양한 설정이 가능합니다.
시프트(Shift)키 : 피벗(pivot), Also set pivot
알트(Alt)키 : 포지션(Position), Also set position
시프트와 알트를 누르고 있으면 아이콘의 모양도 바뀌게 됩니다.
2-1. 피벗(pivot)
피벗은 선택한 UI의 위치를 정하는 기준점입니다.
피벗을 수정하려면 툴의 기준점을 피벗으로 설정해야 합니다.
기준점이 피벗이 되면 씬(Scene)화면에서 피벗이 활성화되고 마우스로 피벗 위치를 바꿀 수 있습니다.
피벗 위치에 따라서 랙트 트랜스폼의 상대 위치가 달라집니다.
피벗을 수정하여 원하는 기준점으로 사용할 수 있다는 것이죠.
2-2. 포지션(Position)
포지션은 오브젝트의 위치나 크기를 설정하는 방법을 지정합니다.
'stretch'옵션은 해당 요소를 자동으로 화면 크기에 비례하도록 해줍니다.
나머지는 요소 자체의 위치를 지정하는 역할이 됩니다.
=================================
=================================
=================================
*기타관련링크
- https://hkn10004.tistory.com/34
=================================
=================================
=================================
'게임엔진관련 > 유니티 엔진' 카테고리의 다른 글
[Unity] 유니티 오브젝트 선택, 클릭, 터치, 접근, 상호작용 이벤트 관련 (0) | 2019.04.16 |
---|---|
[Unity] 유니티 오브젝트 찾기, 접근, 생성, 만들기 관련 (0) | 2019.04.16 |
[Unity] 유니티 Random, 난수 관련 (0) | 2019.04.08 |
[Unity] 유니티 모바일 디바이스 소프트키보드 관련 (0) | 2019.04.07 |
[Unity] 유니티 로컬 데이터 저장, 로드 쓰기 읽기 관련. (0) | 2019.03.31 |