일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Tween
- 단말기 해상도
- 텍스트 메시 프로
- Job 시스템
- 가이드
- Framework
- Unity Editor
- Custom Package
- 커스텀 패키지
- 최적화
- jumping ball
- 이미지 폰트
- unity
- Dots
- RSA
- adfit
- DotsTween
- C#
- 샘플
- 암호화
- sha
- 2D Camera
- base64
- job
- 프레임워크
- ui
- AES
- Dynamic Font
- TextMeshPro
- 다이나믹 폰트
- Today
- Total
EveryDay.DevUp
[Unity] UI transition ( 화면 전환 ) 본문
게임의 UI가 전환될 때, 사용자에게 자연스러운 느낌을 주기 위한 여러가지 전환 방법이 존재한다.
여러 게임에서 상황에 따라 UI를 전환하는 방법을 정의함으로써 향후 게임 개발 시에 참고하고자 한다.
( 정해진 규칙이 정해지진 않았지만, 다른 게임에서 어떤 방식을 사용했는지 확인하기 위함 )
1. 전체 UI 화면에서 다른 전체 UI 화면으로 전환 시
: UI에 애니매이션 없이 즉시 화면이 바뀌는 경우
: 즉시 화면이 바뀌지만, UI 요소가 위에서 내려오거나 양 옆에서 나타나거나 하는 형태의 애니매이션이 존재하는 경우
( 이 경우 중요한 포인트가 되는 UI에만 애니매이션이 있는 경우가 많음 )
2. 전체 UI 화면에서 팝업 UI가 나오는 경우
: UI에 애니매이션이 없이 즉시 팝업이 나오는 경우
: 팝업 UI에 스케일, 알파 애니매이션이 존재하는 경우
: 팝업의 중요도에 따라 개별 애니매이션이 적용되는 경우
( 게임 보상 획득 팝업, 패키지 구매 팝업 등 )
3. 게임의 씬이 변경되는 경우 ( 로고 -> 타이틀, 타이틀 -> 게임, 메인 로비 -> 게임 진입 시 )
: 화면 전환의 시간이 오래 걸리는 경우 별도의 로딩 화면을 구현하여 처리되며, 프로그레스바가 존재
: 화면 전환 시간이 짧은 경우, 전체 화면을 검은색으로 덮고 중앙에 로딩 이미지를 띄움
위의 3가지 경우로 대부분의 화면 전환은 정의할 수 있으며, 여러 게임을 확인 했을 때 앞으로의 게임은 다음과 같은 방식을 사용하고자 한다.
1) 전체 화면의 UI 전환은 즉시 화면이 갱신되는 방식을 사용하되, 중요 정보를 담고 있는 부분에만 짧게 애니매이션을 줄 수 있도록 한다.
: 시스템적으로 전체화면은 별도의 UI 전환 처리를 하지는 않으며, 개별 UI 마다 별도의 애니매이션을 구현한다.
: 전체 화면이 즉시 갱신 되지 않는 경우, 사람에 따라 게임이 느려보이는 착각 및 답답함을 느낄 수 있다.
2) 팝업 UI는 기본적으로 스케일과 알파 애니매이션이 동작되도록 시스템으로 구현한다.
3) 게임 씬의 경우 전환 시간에 따라 케이스 별로 짧게 보여주는 전환 UI 또는 로딩 UI를 사용할 수 있도록한다.
: 시스템적으로 짧은 시간 보여주는 UI와 로딩 UI를 구현하여 전환 UI를 쉽게 구현할 수 있도록 한다.
: 짧은 시간 보여주는 UI 전환은 영상 편집 기법에서 사용하는 방법을 사용할 수 있다.
ㄱ. dissolve
: 앞의 장면과 뒤의 장면이 겹치면서, 앞의 장면이 서서히 사라지는 형태
=> 게임에서는 전환될 UI와 없어질 UI를 동시에 띄우고, 없어질 UI에 알파값을 1 -> 0으로 변경하면서 0이되면 사라지게 하는 방식이라고 할 수 있다.
ㄴ. wipe
: 앞의 장면과 뒤의 장면이 겹쳐있는 상태에서, 앞의 장면이 특정 방향으로 지워지듯이 사라지는 형태
=> 게임에서는 전환될 UI와 없어질 UI를 동시에 띄우고, 없어질 UI에 uv를 조정하거나 애니매이션으로 사라지게 하는 방식이라고 할 수 있다
ㄷ. fade in/out
: 화면을 점차 어둡게 하거나 밝게하면서 새로운 장면으로 변경하는 형태
=> 게임에서는 화면이 점점 어두워지면서 완전히 어두워 지면 UI를 삭제하고, 새로운 UI를 띄운 상태에서 화면을 다시 밝게하는 방식이라고 할 수 있다.
'R&D' 카테고리의 다른 글
[Unity] 프로젝트 Git Hub 초기 셋팅 (0) | 2020.07.25 |
---|---|
[Unity] Android Debug ( Logcat ) - 안드로이드 디버깅, 개발자 옵션 ( Samsung, LG ) (0) | 2020.06.28 |
[Unity] 컴퓨터 기초 ( 스마트폰 하드웨어) (0) | 2020.06.09 |
[Unity] 단말기 메모리 ( Flash Memory, RAM, Cache L1,L2,L3 ) (0) | 2020.06.08 |
[Unity] 버전 관리, 형상 관리 ( SVN, GIT ) - 비교 (0) | 2020.06.06 |