Game Programming/Game Engine
Unity3D :: UGUI UI Position Setting (UGUI UI 위치 설정)VallistA2016. 5. 20. 10:27
보통 Unity3D의 NGUI를 썻다면 Anchor로 각각의 꼭지점에 붙여서 이용을 하게 될 것이다.
근데 UGUI에서는 Anchor라는 개념이 Rect Transform 이라는 것으로 병합이 되어 있는데, 이것에 대해서 보도록 하자.
1. Rect Transform
위의 사진처럼 생겼으며, Width, Height 조절이 일반 Transform에 비해서 자유롭고 옵션들이 많이 붙어있는 것을 알 수 있다.
가장 왼쪽 상단의 이상한 레이더 같이 생긴 모양이 있는데 바로 이것이 우리가 사용할 Anchor 이다.
Anchor를 누르게되면 Anchor Presets가 나오며, 방향이 나오게 된다.
총 9가지 방향이 있는데 이 것은 World Position으로써, 부모 Canvas가 화면을 인식하는 크기에 따라서 Anchor 조정에 따라 Anchor를 조정한 오브젝트의 자식 오브젝트들이 전부 영향을 받는다.
2. 예시
Center
Left Top
Right
3. 주의 해야할 사항
Anchor를 바로 적용을 한다고 끝난게 아니라. x,y,z 포지션을 0으로 만들어 주어야 한다. 맨 처음에 변경을 하면 아래와 같이 설정이 된다.
Center에서 right로 변경을 했을 때이다.
이럴때 Pos X 는 Center에서 Right로 옮겨갔는데 -418이 왜 되는 것일까?
기본적으로 월드 좌표에서는 현재 UI의 위치를 기억을 하고 있고, localPosition은 그것에 대해서 World Position의 위치를 기준으로 움직이기 때문에. local Anchor를 바꿔주는 작업으로. 오른쪽 기준으로 좌표를 옮겼기 때문에 localPosition은 기준 좌표가 바뀌고, World Position 위치로 다시 재 설정을 한다.
그렇게 되면 오른쪽 기준으로 봤을때 World Position은 Center였던 값 이므로 이전의 Center 위치인 Right 기준으로 -418 위치가 기존의 위치가 된 것이다.
그렇기 때문에 Pos X, Pos Y는 앵커가 바뀔때마다 값이 바뀌므로 초기화를 해주는 것을 잊으면 안된다.
'Game Programming > Game Engine' 카테고리의 다른 글
Unity3D :: state pattern source with control in Unity (유니티에서 상태 패턴 소스코드 및 컨트롤) (1) | 2016.05.20 |
---|---|
Unity3D :: UGUI button can't touching (UGUI 버튼 터치가 안될 때) (7) | 2016.05.20 |
Unity3D :: UGUI Canvas Screen Scale Fit (UGUI 캔버스 디바이스 화면에 맞게 맞추기) (0) | 2016.05.20 |
Unity3D :: 4.6 이하 버전에서 iOS 빌드가 안되는 에러 (El Capitan / 엘 케피탄) (0) | 2016.04.19 |
유니티 iOS 9.0 이상부터 용량이 늘어나는 이슈 해결법 (2) | 2015.11.23 |
댓글
VallistA
병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.
현재는 이 블로그를 운영하지 않습니다.
vallista.kr 로 와주시면 감사하겠습니다!
자고 싶습니다. ㅠㅠ
Github :: 링크
궁금한점 문의 주시면 답변드리도록 하겠습니다
VISITED
Today :
Total :
Lately Post
Lately Comment