랭킹 시스템 만들기1. Firebase 개요Firebase는 Google에서 제공하는 클라우드 기반 백엔드 서비스이다. Unity 플러그인이 지원되어 프로젝트에서 비교적 쉽게 연결할 수 있다.무료로 사용이 가능하지만, 용량 및 처리량 제한이 있어서 요금제를 고려해야 한다. 2. Firebase 데이터베이스 종류Firebase에는 대표적으로 두 가지 데이터베이스가 있다.Realtime DatabaseJSON 트리 구조로 데이터를 저장하며, 실시간 동기화 기능에 최적화된 DB구조가 단순하고 빠르게 동기화해야 하는 경우(ex. 채팅, 랭킹, 간단한 상태 정보) 많이 사용됩니다.데이터를 직렬화하여 JSON 형태로 업로드·다운로드한다.Cloud FirestoreNoSQL 기반 문서-컬렉션 구조로 데이터를 저장함트..
공유하기 기능 만들기1. JavaScript의 Navigator: share() APInavigator.share() 메서드는 모바일 기기의 네이티브 공유 기능을 호출할 수 있는 Web API이다. 이 메서드는 보안(HTTPS) 환경에서만 동작하며, 브라우저별 지원 여부가 다르기 때문에 유의해서 사용해야 한다.가장 유명한 사파리, 크롬 등의 브라우저에서는 동작하지만, 앱 내장 브라우저(ex. 카카오톡 앱에서 링크 클릭 시 나오는 브라우저)에서 지원하지 않는 경우가 있으며, 구버전 브라우저의 경우 지원하지 않는 경우가 있으므로 유의해서 사용해야 한다.우리 프로젝트에서는 국내 사용자들이 카카오톡에서 공유하는 것을 고려했으므로 카카오 내장 브라우저에서 동작하지 않는 버그가 있었다.이것의 경우에는 라이브러리를 ..
프로젝트 용량 줄이기 : (2) 텍스처, 모델링 서론1편에서 이어지는 글입니다.https://gdoo.tistory.com/59 [Unity] 프로젝트 용량 줄이기 : 이미지 압축프로젝트 용량 줄이기 : (1) 이미지 압축 서론많은 게임에서 UI를 이미지로 넣는다. 고화질 이미지의 경우 용량이 상당하므로 빌드 시 전체적인 프로젝트의 사이즈가 커지게 된다.웹 게임의 경우gdoo.tistory.com 모델링 압축 3D 모델링 파일의 경우 다양한 파일이 포함되어 있음을 확인할 수 있다. 해당 파일을 클릭하면 위와 같이 나온다. 여기선 중간의 Meshes의 Mesh Compression으로 압축을 진행해 준다. 텍스처텍스처 파일도 압축을 해야 한다. 텍스처의 경우 이미지 파일이므로 이미지 압축 과정과 동..
프로젝트 용량 줄이기 : (1) 이미지 압축 서론많은 게임에서 UI를 이미지로 넣는다. 고화질 이미지의 경우 용량이 상당하므로 빌드 시 전체적인 프로젝트의 사이즈가 커지게 된다.웹 게임의 경우 빌드된 최종 게임의 용량을 최대한 줄이는 것이 좋고, 브라우저에 할당된 메모리를 사용해야 하므로 각각의 리소스들의 용량을 줄이는 것이 매우 중요하다.프로젝트의 용량을 줄이는 방법 중 가장 많이 사용하는 이미지의 용량을 줄이는 방법에 대해 알아보자. 예시 이미지는 https://pixabay.com/ko/에서 다운로드하였다. 이미지 압축 : 전처리먼저 임의의 고화질 이미지를 다운로드하여 프로젝트에 넣고, UI에서 사용하는 방식인 Texture Type을 Sprite로 설정해 준다. 사진에서 보는 바와 같이 용량이 ..
Unity에서 딜레이를 주는 방법현재 프로젝트에서 딜레이를 줘야 하는 상황이 많아 자세하게 공부했던 내용을 정리하고자 한다.유니티에서 딜레이를 주는 방법은 크게 5가지가 있다.Coroutine을 이용한 딜레이Invoke를 이용한 딜레이타이머를 사용하여 직접 구현하는 딜레이WaitForSecondsRealtime(실제 시간 기준 대기)Async / Await (C#의 비동기 함수를 이용한 딜레이)이것들 중 주로 사용하는 방법은 1, 2번 방식이고, 가끔 3, 4번 방식을 이용하여 구현하기도 한다.이것들을 자세하게 알아보자. Coroutine을 이용한 딜레이Coroutine이란먼저 코루틴(Coroutine)에 대해 알아보자.코루틴(Coroutine)은 유니티에서 비동기 처리를 간편하게 구현할 수 있는 강력한..