본문 바로가기

개발/TIP

[GPGS] 구글 플레이 게임 서비스 유니티 플러그인 사용 시 실시간 갱신 문제 개요안드로이드 게임을 개발하면서 구글에서 서비스되는 플레이 게임 서비스를 많이 이용합니다.구글에서는 유니티에서도 쉽게 구글 플레이 게임 서비스(이하, GPGS)를 구현할 수 있도록 플러그인을 제공하고 있지요. 게임에 GPGS를 이용하여 리더보드를 구현하여 실시간 랭킹 정보를 출력하는 기능을 구현하는 경우, 리더보드의 새로운 정보가 들어오지 않는 문제가 발생합니다. 이건 플러그인에서 네트워킹을 최소화하기 위해 데이터를 캐시하여 사용하기 때문인데요.캐시데이터가 삭제되기 전까진 이미 저장된 데이터만 출력이 가능하게 되는 거죠.글로벌 타겟으로 이용하는 리더보드라서 데이터량이 많을 수도 있기 때문이겠죠? 이 문제를 해결하기 위해서는 플러그인의 코드를 조금 수정해야 합니다. 해결방법플러그인을 프로젝트에 추가하면, .. 더보기
[UNITY] Google 에서 제공하는 Admob 플러그인 사용시 Crash로 게임 실행이 안될때 https://github.com/googleads/googleads-mobile-unity 에서 다운 받은 플러그인을 적용하여 애드몹을 사용하는데게임 실행 시 아래와 같은 충돌 메시지와 함께 게임이 종료되는 경우가 있습니다. ****************************************************************************** * The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers * * should follow the instructions here: https://goo.gl/fQ2neu to add a valid * * App ID inside the AndroidManifest. G.. 더보기
[C#,UI] 마우스 or 터치 입력 포지션이 UI 위에 있는지 체크하기 개요스마트폰 모바일 게임 개발할 때 조작 방법으로 마우스 혹은 터치 입력이 주로 사용됩니다. 단말기에서 사용할 수 있는 조작 방법으로 터치가 유일하기 때문입니다. 터치 입력을 이용하여 기능을 제작할 때 UI와 터치가 겹치는 상황이 빈번히 발생하는데요. 터치 입력 포지션이 UI 위에 있는지 체크하여, 위에 있을 때는 기능을 하지 않도록 막으면 해결할 수 있어요. 사용방법터치 입력 포지션이 UI 위에 있는지 체크하기 위해서 EventSystems 라이브러리를 참조해야합니다. using UnityEngine.EventSystems; 예제) 마우스 입력 시public class InputTest : MonoBehaviour { void Update () { // 입력 포지션이 UI 오브젝트 위에 있는지 체크 i.. 더보기
[C#, INSPECTOR] 유니티 인스펙터를 빠르고 간단하게 커스텀하기 유니티 에셋이나 누군가의 배포를 통해 다운받은 플러그인을 사용하다 보면, 인스펙터에 제목 라벨, 슬라이더 등의 UI로 이루어진 것을 보신적이 있으시죠?이런 플러그인은 대부분 스크립트 별로 커스텀 에디터 스크립트를 작성하여 인스펙터를 꾸민거예요.커스텀 에디터 스크립트를 작성하는건 생각보다 시간 투자도 많이 필요하고 번거롭고, 귀찮기까지 하죠. 이럴때 유니티에서 제공하는 몇가지 에디터 속성을 사용하면 인스펙터를 보다 쉽고 빠르게 커스텀할 수 있어요.물론 커스텀 에디터 스크립트를 작성하는 것보다 디테일하거나 멋지게 커스텀 할 수는 없지만, 간단한 스크립트를 커스텀 할 땐 유용해요. 1. Header인스펙터에 굵은(BOLD) 타입으로 라벨을 출력합니다. 변수들을 특정 목적에 따라 구분할 때 유용하게 사용할 수 .. 더보기
[C#] 유니티 이벤트 함수 실행 순서 유니티를 사용하여 게임을 개발할 때 이벤트 함수의 실행 순서는 굉장히 중요해요.기본적으로 코딩는 위에서 아래로 순차적으로 실행되는 것처럼, 유니티 내부에서 이벤트 함수를 순차적으로 자동 실행되는데요.이 순서를 알고 있어야 개발할 때 동작 순서가 꼬이는 것을 방지할 수 있어요. 게임 오브젝트에 스크립트를 적용하면, 스크립트에 작성한 이벤트를 유니티 내부에서 시간 혹은 프레임에 따라 모든 이벤트를 호출하게 되요.그럼 유니티 이벤트 함수 중 중요한 함수 몇가지와 순서를 설명드릴게요. 1. AwakeAwake는 스크립트를 깨우는(?) 함수로 게임 실행 시 최초 1회만 호출되는 함수입니다.이 함수는 게임 오브젝트가 활성화인 상태에서는 무조건 실행됩니다.Start 함수와는 다르게 스크립트를 비활성화 상태 (enab.. 더보기