반응형

게임 개발/Unity 25

[유니티 firebase] - 파이어베이스 시작하기

게임을 개발하다보면 데이터베이스의 필요성을 느끼실겁니다. 하지만 접근성이 높다는 생각에 막연하게 어렵게만 느꼈던 과거의 저에게 이렇게 해보자라는 의미로 글을 작성해봅니다. 유니티에서 파이어베이스 사용 및 연동에 대해서 소개하겠습니다. 앞으로도 Analytics, Auth, Storage, RemoteConfig, FireStore, Crashlytics, Messaging 등을 다뤄볼 예정입니다. 1. 프로젝트 추가 파이어베이스 콘솔 링크 : https://console.firebase.google.com/?hl=ko 파이어베이스 콘솔에서 프로젝트를 추가해줍니다. 2. 프로젝트에 앱 추가 프로젝트가 생성이 되면 앱을 추가해야합니다. 유니티를 위한 앱추가가 있군요. 2-1 앱등록 유니티 프로젝트에서 Pro..

게임 개발/Unity 2023.05.08

[유니티 C#] 특정 텍스트 눌러서 팝업 띄우기

오랜만에 재밌는 주제로 돌아왔습니다. 게임을 하다보면 스킬을 확인해야하는 경우가 많은데요 그 중 하나의 방법으로 스킬설명의 특정 텍스트를 터치하면 추가 스킬 설명이 되는 경우가 있습니다. 그것에 대한 고민을 하다가 정답은 아닐 수 도있지만 나름의 방법을 찾아서 짧게나마 공유하고자 합니다. * URL 하이퍼링크 같은 기능을 개조해서 사용했습니다. 최종 구현된 모습입니다. 보시다시피 원하는 텍스트에만 터치기능을 제공합니다. 왼쪽 이미지의 하이라키 구조는 크게 신경쓸 필요없이 TMP를 사용했다는것에 주의 해주시면 됩니다. 오른쪽 이미지에서는 텍스트 string에 에 주의해주시면됩니다. 원래는 이런식으로 richtext가 작성되어있고 해당 텍스트를 누르면 무언가의 주소 홈페이지를 여는 기능이지만 일부 개조하여 ..

게임 개발/Unity 2022.08.29

[유니티 C#] MonoBehaviour를 상속 받아야하는 Singleton, 모노 싱글톤

이전에 싱글톤 관련 글을 정리하면서 마지막에 한번 언급했던 내용을 다뤄보겠습니다! https://welcomeheesuk.tistory.com/62 [디자인패턴] 03. 유니티에서의 싱글톤(Singleton) 패턴 지난 수요일에 친구들과 디자인패턴에 대해 스터디를 하면서 제 스스로로 잘 알고 사용하고 있으면서도 잘 모르겠는 아리송한 싱글톤 패턴에 대해서 다시 한번 정리하고자 합니다. 저는 예전에 welcomeheesuk.tistory.com 유니티로 게임을 개발하다보면 Sington패턴으로 정보들을 관리하면 좋을때가 많습니다. 그러면서 MonoBehaviour를 상속받는데 싱글톤처럼 동작하도록 구현하고 싶을때가 있습니다. 그럴때 사용하면 좋은것이 바로 '모노싱글톤(MonoSingleton)'입니다. 이 ..

게임 개발/Unity 2021.08.29

[유니티 C#] SafeArea 상,하,좌,우 4방향 각자 대응

무더운 여름입니다. 이게 날씨인가 싶지만 개발은 계속됩니다. 최근에 UI디자이너분의 요청에 따라 기존에 사용하던 SafeArea를 개량했는데 의외로 쓸만하다는 생각이 들어서 이렇게 기록해 놓습니다. 제 블로그에서도 소개드렸던 에셋스토어에서 무료로 배포하는 SafeArea 에셋의 스크립트를 개조한 것 입니다. 기존에 사용하던 SafeArea는 X축, Y축만 대응이 가능했다고 한다면, 이번에 개량하게된 버전은 Topn Bottom, Left, Right 4방향을 조절할 수 있게 되었습니다. using UnityEngine; public class SafeArea : MonoBehaviour { public enum SimDevice { None, iPhoneX, iPhoneXsMax, Pixel3XL_LSL..

게임 개발/Unity 2021.07.24

[유니티 C#] UI Animation State 이름 중복 사용

최근에 UI 애니메이션 관련해서 재밌는 팁을 알게되서 달려왔습니다! UI 애니메이션의 중복 활용이라 적었는데 무엇이냐면 유니티 애니메이션을 하면서 원하는 애니메이션으로 변경하거나 실행해야할때 각 상태에 transition을 연결하고 파라미터 값을 매겨 일종의 유한상태 머신을 만드는 형태로만 사용해왔습니다. 하지만 이번에 알아낸건 스크립트상에서 애니메이션을 실행할때 state이름을 매개변수로 받아 실행하며 그 state이름을 똑같이 작성하게되면 UI상에 중복되는 시점에 다른 애니메이션을 실행시킬수있다는 것을 알았습니다. 예시를 들자면 일반 팝업 연출과 아래에서 슬라이드해서 올라오는 팝업 연출이 있습니다. 그리고 해당 애니메이터를 제어할 스크립트를 살펴봅시다. // 콜백 매개변수를 위한 델리게이트 publi..

게임 개발/Unity 2021.07.11

[유니티 C#] PhotonNetwork 기본 콜백함수 찍먹하기

포톤네트워크를 사용해 함수를 구현하시면 편리하게도 서버에 입장하고, 로비, 룸에 입장할때 호출되는 콜백 함수들이 있습니다. 오늘은 서버에 접속해서 방에 들어가기까지 대략적인 파악정도만을 위해 작성하고 추후에 디테일한 UI 구성까지 함께 파보겠습니다! 인게임에 들어가기전에 아웃게임에서 크게 챕터를 나누자면 접속, 로비, 룸 이렇게 나뉘는 것 같습니다. 1. 서버 연결 및 연결해제 파트 public void OnConnect() { // 서버 접속 함수 PhotonNetwork.ConnectUsingSettings(); } public void OnDisconnect() { // 접속 종료 함수 PhotonNetwork.Disconnect(); } public override void OnConnectedT..

게임 개발/Unity 2021.06.09

유니티 Admob mediation adapter 적용시 빌드에러

최근 개발중인 프로젝트에 애드몹 미디에이션을 적용하면서 안드로이드 빌드 에러가 발생하여 리서치한 결과 사용하고있는 유니티 버전의 안드로이드 build.gradle 버전이 낮아서 발생한다는 결론이 나왔습니다. 그래서 해당 유니티 버전, 저의 경우에는 2019.4.19f1을 사용하는데 2019.4.19f1/PlaybackEngines/AndroidPlayer/Tools/GradleTemplates/baseProjectTemplate.gradle을 확인하시면 아래와 같이 나옵니다. 처음에는 왼쪽 이미지처럼 나와있는 classpath를 오른쪽처럼 3.4.3으로 변경한 뒤에 빌드를 시도해보시면 문제없이 잘되는것을 확인할 수 있습니다.

게임 개발/Unity 2021.02.14

[유니티 C#] Position으로 SortingLayer 조절 - 건물 뒤에 숨기

최근에 진행하는 프로젝트에서 플레이어 캐릭터가 돌아다니는 상황에서 건물 오브젝트 혹은 다른 오브젝트과 붙어있을때 랜더링 순서가 맞지않아 고민해본 결과 해당 오브젝트의 position.y값으로 레이어 order값을 변경시켜 건물의 앞에서 앞으로 뒤에선 뒤로 랜더링되도록 구현하였습니다. using System.Collections; using System.Collections.Generic; using UnityEngine; // SpriteRenderer 필수 [RequireComponent(typeof(SpriteRenderer))] public class ObjectLayerSetter : MonoBehaviour { private SpriteRenderer spriteRenderer = null; p..

게임 개발/Unity 2020.12.06

[유니티 C#] 에디터 OnInspectorGUI()후 저장

프로그래머가 아닌 팀원과 협업하기위해 에디터 제너레이터를 만들면서 겪었던 문제를 해결하면서 블로그에 남깁니다. 게임에 등장하는 맵을 꾸미기위한 에디터 제너레이터를 구현했습니다. 아래와같이 인스펙터에 Enum배열을 조절하고 Generate Image 버튼을 누르면 해당 Enum에 맞는 이미지로 맵이 꾸며지는 클래스입니다. // 인스펙터에서 맵을 꾸밀 수 있도록 구현 // 인스펙터에서 제어하기위한 enum public enum TILE { FLOOR_01, FLOOR_02, } // 9개의 블럭이미지를 가지고있는 MapBlock 클래스입니다. public class MapBlock : MonoBehaviour { [SerializeField] private SpriteRenderer[] spriteRende..

게임 개발/Unity 2020.11.21

[Unity C#] 해상도대응 (ios) - iOS.Device.generation

아이폰에 게임을 출시하면서 수없이도 많은 리젝을 당한 사유... 결제와 해상도 대응이었습니다... 안드로이드는 비교적 쉽게 대응이 가능했지만 아이폰의 x(탈모)시리즈...ㅂㄷㅂㄷ 리서치도 해보고 좋은 플러그인도 찾았지만! -------------------------------------------------------- 플러그인 : UnitySafeAreaController https://github.com/rlatkdgus500/UnitySafeAreaController -------------------------------------------------------- 이미 구현된 게임에 바로 적용하기가 애매했던터라 코드로 급하게 만들었습니다. 방식은 iPhoneX시리즈 이후의 버전에서 일정부분만큼..

게임 개발/Unity 2020.02.07
반응형