본문 바로가기

Unity UI4

[unity] UI UIText에서 TextMeshProUGUI로 일괄 교체하는 방법 Unity에서 Scene 내 모든 UI Text 컴포넌트를 TextMeshProUGUI Text 컴포넌트로 일괄 교체하는 방법에 대해 알아보자. 유니티에서 2D 텍스트 표현에 있어 예전에 제작된 프로젝트 대부분이 유니티에서 제공하는 기본 UIText 컴포넌트로 구성되어 있다. 기본 UIText는 사용하기는 간편하지만, 확대 시 텍스트 깨짐, 텍스트 흐림 및 Batch 관리의 어려움 등의 단점이 존재하였다. TextMeshProUGUI는 기존 UIText에 비해 폰트를 bake 해서 텍스쳐 1장으로 관리되기 때문에 퍼포먼스에 능하고, UIText의 단점을 보완되어 나온 라이브러리로 최근 프로젝트는 대부분 TextMeshProUGUI를 사용하고 있다. 1. 컴포넌트 교체 시 고려사항 그럼 텍스트 컴포넌트 교.. unity3d/Class 2022. 6. 28.
[Unity] UI 재사용 스크롤뷰 제작 Unity UI에서 스크롤 뷰는 상당히 많은 곳에서 사용한다. 이런 스크롤 뷰를 재사용 가능한 스크롤 뷰로 만드는 방법에 대해 알아보자. Unity ScrollView의 단점은 스크롤되는 데이터가 많아질수록 느려지고 메모리 사용도 많아진다는 점이다. 따라서, 스크롤뷰에 아이템을 Instantiate를 통해 모든 데이터를 생성하는 것이 아닌 일부 아이템을 가지고 데이터만 교체해주는 오브젝트 풀링 방식으로 개선하게 되면, 속도 향상 및 메모리 확보 효과도 좋다. Instantiate를 통한 오브젝트 생성 및 Destroy를 통한 오브젝트 삭제의 과정을 거치지 않기에 프레임 밀림 현상도 개선이 된다. 해당 기능 구현을 위해 총 2개의 base 클래스를 먼저 제작해보자. 1. UIRecycleViewContro.. unity3d/Class 2022. 6. 10.
[Unity] UI PageView Class Unity UI에서 페이지 단위로 View를 구성하는 PageView Class를 제작해보자. Unity에서 페이지 단위로 UI를 나누고 싶을 때 활용하면 좋은 PageView Class를 제작해보자. 해당 기능은 사진첩을 커버 플로우 형태로 보거나 책을 넘기는 기능 등에 사용하면 좋다. Unity에서 기본적으로 제공하는 ScrollView를 활용하여 쉽게 구현이 가능하다. 1. UIPagingViewController Class 작성 - 해당 클래스는 Page를 관리하고 View를 드래그하여 컨트롤할 수 있는 클래스이다. - Unity에서 제공하는 Scroll 컴포넌트를 필수 컴포넌트로 가지고 있어야 한다. - Unity EventSystem에서 제공하는 IBeginDragHandler 및 IEndDr.. unity3d/Class 2022. 6. 9.
[Unity] UI DragDrop Class Unity UI에서 자주 사용하는 DragDrop 기능을 구현해보자. Unity에서 미니 2D Game 기능 중 DragDrop 기능은 상당히 많이 사용한다. Unity에서 2D Image를 마우스(터치)를 통해 Drag 하고 원하는 위치에 Drop 할 수 있는 클래스를 제작해 보자. 1. 사전 준비 - LeanTween 플러그인 설치 - Unity에서 Tween 기능 구현을 위해 LeanTween 라이브러리 에셋을 사용하겠다. - LeanTween은 에셋스토어를 통해서 무료로 다운로드할 수 있다. - Drop존에 가까이 왔을 때 자동으로 Drop존으로 Tween 하도록 할 때 해당 라이브러리 기능을 사용한다. - 다운로드 받으러 가기 2. UIDragBehaviour Class 작성 - UIDragBe.. unity3d/Class 2022. 6. 8.