유니티:UI
편집하기
둘러보기로 이동
검색으로 이동
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
{{유니티}} ==개요== 게임 메뉴나 스테이터스 등을 표시하기 위한 정보제공기능. 여러 카메라 중 어떤 카메라를 플레이어에게 보여줄지 배정하기도 한다. ===작성=== 계층 창에서 우클릭을 하면 UI메뉴가 따로 있다. 클릭하면 여러 게임 오브젝트가 한번에 생긴다. 캔버스는 바로 게임의 창.. 카메라가 아닌, 캔버스에 가까운 것이 상위에 위치한다.(레이거 같은 느낌으로) ====유의==== UI는 캔버스 하위에 속할 때에만 보인다. 모든 UI는 캔버스의 자식 오브젝트가 되어야 한다. ===Text UI=== 문자열을 표시하는 UI. 폰트는 라이센스 꼭 확인! {| class="wikitable" !세부항목 !설명 |- |Line Spacing |행바꿈을 할 때 몇 줄을 띄울 것인가. |- |Horizental overflow Vertical overflow |칸을 넘쳐나는 문자열을 포함되지 않는데, 이걸 조절하면 칸이 넘치는 문자열도 표현할 수 있다. 수평, 수직방향으로 옵션이 있다. 넘쳐날 때 줄바꿈을 할지, 자를지, 그대로 넘치게 표시할지 정한다. |- |Best Fit | |- | | |} ====팁==== Text 오브젝트에 Shadow컴포넌트(Add Component>UI>Effects>Shadow)를 추가해 다루면 가독성이 높아진다. ===이미지 UI=== 소스이미지를 가져다 넣어야 한다. 이미지 파일을 끌어다 넣으려면, 이미지 타입을 Sprite로 바꾼 후에 넣어주어야 한다. {| class="wikitable" !세부항목 !설명 |- |Image Type |이미지타일을 만들거나, 하나의 이미지를 조정하거나 Filled를 통해 이미지 트렌젝션을 할 수도 있겠다. 혹은, 쿨타임 효과 구현에 쓰인다. |- |Set Native Size |본래 이미지 크기와 동일하게 수정한다. |- | | |} ===버튼 UI=== 클릭이벤트를 가진 반응형 UI이다. TextUI를 포함하고 있다. 이미지 스크립트를 컴포넌트로 갖고 있다. {| class="wikitable" !세부항목 !설명 |- |Interactable |반응 하느냐? |- |Transition | {| class="wikitable" |+ ! ! ! |- |Color Tint |상황에 따라 버튼 색을 바꾼다. |Highlighted Color Pressed Color 눌렀을 때 색 Color Multiplier 색을 어떻게 섞을 것인가? |- |Navigation |방향성. 탭 키를 누르면 어디로 갈 것이냐? |Automatic으로 해두는 게 간편할듯. |- |On Click() |작동 함수를 넣을 수 있따. 버튼을 누르고 떼기가 한 동작. |함수를 넣은 후에 넣어줄 변수를 설정한다. |} |} = 배치 = 캔버스는 게임을 실행중인 화면의 크기에 따라 달라진다. 화면 크기에 따라 캔버스 안에 배치된 UI의 모습들도 달리 배치된다. 최근엔 다양한 기기로 게임을 플레이하기 때문에 고정픽셀 크기의 요소들은 사용하지 않는다. == 스케일 == === 다양한 기기에 적용하기 === 캔버스의 인스펙터 창에서 UI Scale Mode를 Scale With Screen Size로 한다. 화면크기에 따른 스케일을 사용한다. Reference Resolution은 기준해상도를 의미한다. === 방향 매치 === 일반적으로 기기에 따라 화면비율이 다르기도 하기 때문에 캔버스 크기와 같은 비율로 늘리다간 요소들이 화면 밖으로 빠져나가기도 한다. 인스펙터의 Match로 조절하는데, 폭을 기준으로 할지, 높이를 기준으로 할지 그 정도를 지정할 수 있다. ==앵커== 캔버스의 기준점을 앵커라 부른다. 캔버스의 어느 지점을 좌표계의 중심으로 잡을 것인가. Rect Transform에서 앵커 프리셋을 볼 수 있다. shift를 누르고 보면 컴포넌트에서의 기준점도 정할 수 있다.(alt도 뭔가 있는데...) 앵커를 잘 이용하면 단말기마다 다른 화면 크기에서도 일관성을 유지할 수 있다. <br /> =게임메니저= UI를 코드로 다룰 수도 있다. 게임 규칙과 상태, UI에 띄울 데이터를 제어하는 코드를 게임메니저라 부른다. 하위요소를 불러오려면 기존 불러오는 방식 뒤에 Inchildren까지 붙여주어야 한다.<syntaxhighlight lang="c#"> //기존 코드에 더해 다음의 코드가 최상단에 추가되어야 한다. UI를 사용한다는 의미. using UnityEngine.UI; // UI관련 라이브러리. using UnityEngine.SceneManagement; // 씬 관련 라이브러리. public class GameManager : MonoBehaviour { public 타입명 변수명; // 필요한 변수들을 준비한다. public Text 변수명; // UI에 띄울 텍스트 컴포넌트. 내용변경을 위해 사용. public GameObject 변수명; // 특정 상황에서 활성화할 텍스트(게임오브젝트). 활성, 비활성화로만 사용. } void Start() { } public void EndGame() { } </syntaxhighlight>
요약:
학교의 모든 지식. SMwiki에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
학교의 모든 지식. SMwiki:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
이 문서에서 사용한 틀:
틀:유니티
(
편집
)
둘러보기 메뉴
개인 도구
로그인하지 않음
토론
기여
로그인
이름공간
문서
토론
한국어
보기
읽기
편집
원본 편집
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보