랭킹 시스템 만들기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로 설정해 준다. 사진에서 보는 바와 같이 용량이 ..
ItemItem의 역할아이템 타입을 명시해 준다.아이템과 플레이어가 충돌했을 경우 아이템이 흡수되는(자석 아이템 효과)를 만들어준다.아이템이 획득되었을 경우 효과를 담당한다.(현재는 기능이 비어있음) 필요한 변수들 선언using System.Collections;using System.Collections.Generic;using UnityEngine;using static UnityEditor.Progress;public class Item : MonoBehaviour{ public enum ItemType { Coin1, Coin5, Coin10, Coin15, Key, CardPack, ForcedDeletion, ProgramRemove, ProgramRecycle, He..
PInformationPInformation의 역할프로그램에서 변경되는 능력치들에 대한 정보를 가지고 있는다.매니저에 PInformation를 넘겨줘서 능력치를 증/감 시킨다 필요한 변수들 선언using UnityEngine;public class PInformation : MonoBehaviour{ private bool isProgramBeingAdded = false; public string ProgramName; public string Explanation; public string PowerExplanation; public int AddCoin = 0; public int HPHeal = 0; public int AttackPower = 0; pu..