본문 바로가기

unity3d62

구글 플레이스토어 앱 등록 및 출시 방법 정리 유니티(안드로이드) 앱 개발 이후 구글 플레이스토어에 앱을 등록하고 출시하는 방법을 정리해 보고자 한다. 오랜만에 플레이스토어에 게임 앱을 출시하게 되었다. 정리 겸 구글 플레이스토어에 앱을 등록하는 방법에 대해 알아보자! 플레이스토어 개발자 계정 구매 플레이스토어에 앱을 등록하기 위해서는 개발자 등록이 필수이다. 구글 플레이스토어 개발자 콘솔 바로가기 Google Play Console | Google Play Console 앱 및 게임이 성장할 수 있도록 사용자에게 도달하고 사용자 참여를 유도하는 데 도움이 될 도구, 프로그램, 통계를 이용하세요. play.google.com 구글 개발자 콘솔 사이트에서 개발자 계정 등록이 가능하다. 개발자 계정 등록은 25달러의 비용이 발생한다. 구매 과정은 어렵지.. unity3d/Research 2022. 8. 30.
[unity] ios admob 추가시 framework not found FBLPromises 오류 해결 방법 unity에서 IOS 빌드 시 framework not found FBLPromises 오류 해결 방법을 알아보자. 테스트 버전 Unity 2018.4.36 Admob v7.2.0 unity admob 라이브러리 확인 admob 라이브러리 추가 후 유니티 프로젝트 내 Plugins/iOS/에 두 개 파일이 있는지 확인한다. unity-plugin-library.a GADUAdNetworkExtras.h 해당 두개 파일이 존재해야 한다. XCode 프로젝트 확인 Unity에서 빌드 성공 후 XCode 프로젝트를 보면, 두 가지 프로젝트를 볼 수 있다. Unity-iPhone.xcodeproj 와 Unity-iPhone.xcworkspace를 확인하자. 기존에는 대부분 .xcodeproj를 열어서 구동하.. unity3d/Troubleshooting 2022. 8. 26.
[unity] 빌드 시 AAPT 오류 해결 방법 unity 빌드 시 AndroidManifest.xml:39: AAPT: error: unexpected element found in 와 같은 오류 메시지를 해결하는 방법을 알아보자. GoogleMobileAds-v7.1.0 버전을 설치 후 AndroidResolve를 진행한 후 빌드를 실행한 결과 AndroidManifest.xml:39: AAPT: error: unexpected element found in 에러게 발생되었다. 유니티 에러 로그 * What went wrong: Execution failed for task ':launcher:processReleaseResources'. > Android resource linking failed /Users/****/Documents/Proje.. unity3d/Troubleshooting 2022. 8. 19.
[unity] 어드레서블(Addressable) 사용 방법(로컬기반) Unity에서 앱 최적화 및 콘텐츠 분리의 핵심 기능인 어드레서블(Addressable) 사용 방법에 대해 알아보자. 어드레서블에 대한 패키지 설치를 안 했다면, 기존 페이지를 참고하고 진행하는 것이 좋다. 2022.08.12 - [unity3d/Research] - [unity] 어드레서블(Addressable) 소개 및 설치 방법 [unity] 어드레서블(Addressable) 소개 및 설치 방법 Unity에서 앱 최적화 및 콘텐츠 분리의 핵심 기능인 어드레서블(Addressable)에 대해 알아보자. 1. 어드레서블(Addressable)이란? 유니티에서 그동안 메인 앱과 콘텐츠를 나눠서 개발할 때(Apk 용량을 줄이 wonjuri.tistory.com 1. 기본 세팅 어드레서블 패키지 설치를 완료.. unity3d/Research 2022. 8. 16.
[unity] 어드레서블(Addressable) 소개 및 설치 방법 Unity에서 앱 최적화 및 콘텐츠 분리의 핵심 기능인 어드레서블(Addressable)에 대해 알아보자. 1. 어드레서블(Addressable)이란? 유니티에서 그동안 메인 앱과 콘텐츠를 나눠서 개발할 때(Apk 용량을 줄이고 리소스를 따로 빼는 작업) 주로 어셋 번들로 만들어서 다운로드하고, 로드하는 형식으로 많이 사용하였다. 어드레서블 시스템은 우리가 그동안 익숙했던 어셋 번들을 좀 더 자동화 및 관리시스템이 추가되어 새로운 패키지 형태로 나온 개념으로 이해하면 좋다. 어드레서블은 콘텐츠를 빌드하고, 로딩하고 관리하는 시스템이며, 주소를 통해 관리하기 때문에 Addressable 이란 이름으로 불린다. 2. 어드레서블(Addressable) 기본 사항 어드레서블은 유니티 2018.2 버전 이상의 시.. unity3d/Research 2022. 8. 12.
[unity] 에셋스토어 패키지 다운로드 경로 알아보기 에셋스토어 or 패키지 매니저에서 다운로드한 유니티 패키지 파일이 어디 저장되는지 알아보자. 유니티에서 에셋스토어나 패키지매니저를 통해 에셋을 받은 후 패키지 파일만 따로 관리하고 싶을 때가 있다. 하나 예를 들어, 지금 진행중인 프로젝트가 유니티 2020 버전에서 제작 중인데, 받고 싶은 유니티 에셋이 다운로드 최소 유니티 버전이 2021일 경우가 있다. 이럴 경우, 유니티 2021 버전에서 빈 프로젝트 생성 후 패키지 파일을 다운로드한 후, 해당 패키지 파일을 다시 2020 버전의 본 프로젝트에 임포트 해주는 경우가 많다. 이럴 경우, 패키지 파일이 어디에 저장되는지 알아두면 상당히 유용하다. 1. 윈도우 운영체제에서의 에셋스토어 패키지 다운로드 경로 C:\\Users\\사용자명\\AppData\\R.. unity3d/Research 2022. 8. 1.
[unity] 모듈 제작 : 광고 시스템(Admob, UnityAds) 만들기(2) Unity에서 사용하는 수익 구조 중 광고(Admob, UnityAds) 모듈을 제작하는 방법 및 사용하는 방법에 대해 알아보자. (2편) 이전 편에 이어서 스크립트 작성 및 테스트 코드를 만들어 보자. 2022.07.08 - [unity3d/Modules] - [unity] 모듈 제작 : 광고 시스템(Admob, UnityAds) 만들기(1) [unity] 모듈 제작 : 광고 시스템(Admob, UnityAds) 만들기(1) Unity에서 사용하는 수익 구조 중 광고(Admob, UnityAds) 모듈을 제작하는 방법 및 사용하는 방법에 대해 알아보자. (1편) 게임 앱 개발에 있어 수익화는 무엇보다 중요하다. 대부분의 게임은 인앱 결제 wonjuri.tistory.com 5. Script 작성 : A.. unity3d/Modules 2022. 7. 8.
[unity] 모듈 제작 : 광고 시스템(Admob, UnityAds) 만들기(1) Unity에서 사용하는 수익 구조 중 광고(Admob, UnityAds) 모듈을 제작하는 방법 및 사용하는 방법에 대해 알아보자. (1편) 게임 앱 개발에 있어 수익화는 무엇보다 중요하다. 대부분의 게임은 인앱 결제를 통해 수익을 창출하지만, 광고를 적절히 사용하면 부가적인 광고 수익도 창출할 수 있다. 여러 가지 광고 플랫폼을 사용해 보았지만, 결국 유니티에서 활용할만한 광고 플랫폼은 구글의 Admob과 Unity에서 자체적으로 제공하는 UnityAds가 접근 방법 및 수익이 괜찮았다. 다양한 광고 형태(배너, 전면, 보상형)를 붙이고 싶다면 Admob을 선정하는 것이 좋으며, 보상형 광고 위주로 수익화를 하고 싶을 때는 UnityAds가 좋다. (UnityAds는 전면, 배너 광고에 대한 노출률이 너.. unity3d/Modules 2022. 7. 8.
[unity] unity 2022 테크 스트림 내용 정리 Unity Wave 2022에서 발표된 유니티 2022 버전의 테크 스트림에 대해 정리해 보았다. 유니티 2018~2021을 거쳐 유니티 2022.1 버전이 현재 출시되었다. 올해 유니티 2022 버전은 2022.1과 2022.2의 출시를 할 예정이다. 아직 LTS 버전이 아니기 때문에 안정적이진 않지만 최신 기술을 먼저 사용해 볼 수 있다. 2022 버전에서 사용될 새로운 기술들이나 발전되는 사항은 어떠한 것들이 있는지 알아보자. 1. 워크플로우 & 생산성 향상 [검색에 대한 기능 강화] 에디터 검색 결과 시각화 강화, 더 복잡한 검색 쿼리를 처리할 수 있도록 기능 확장 [패키지 매니저 기능 강화] 다중 패키지 설치 지원, 패키지 버전 변화에 대한 사용자 노티 강화 [.Net and IL2CPP 개선].. unity3d/Research 2022. 7. 1.
[unity] 디자인 패턴 : 팩토리 패턴(Factory Pattern) Unity와 C#을 통한 팩토리 패턴(심플 팩토리, 메소드 팩토리 패턴)의 정의와 사용 방법에 대해 알아보자. 1. 팩토리 패턴(Factory Pattern)이란? 팩토리란 말에서 볼 수 있듯이 공장에서 생산을 잘할 수 있도록 디자인하는 패턴으로 생각하면 쉽다. 팩토리 패턴의 핵심은 객체를 생성하는 기능만 팩토리로 빼서 관리하는 것이다. 팩토리 패턴(Factory Pattern)은 크게 3가지로 구분하여 정의해 볼 수 있다. 심플 팩토리 패턴(Simple Factory Pattern): 패턴이라고 말하기는 애매하고 단순히 객체 생성부를 별도 클래스로 분리한 개발 방법이다. 팩토리 메소드 패턴(Factory Method Pattern) : 객체를 생성할 때 필요한 인터페이스를 만들고, 어떤 클래스의 인스턴.. unity3d/DesignPattern 2022. 6. 30.
[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에서 Scene 내 모든 UI Text 및 TextMeshProUGUI Text의 폰트를 일괄 교체하는 방법에 대해 알아보자. 프로젝트 중에 디자이너의 요청에 따라, 메인 폰트가 변경되는 상황이 발생하였다. 물론 Scene에 들어가서 구성한 UI의 Text 컴포넌트를 찾아가며 하나씩 바꿔줄 수도 있지만, 만약 Scene과 UI 수량이 많다면, 상당히 귀찮은 작업이 아닐 수 없다! 자동화 개념을 생각하여 에디터클래스로 스크립트를 만들어 클릭 한 번으로 일괄 교체하는 방법에 대해 알아보자. 1. 폰트 교체용 EditorClass 제작 프로젝트 내 Editor 폴더를 만든 후 UITextFontSetter 클래스를 만들어 보자. 유니티에서 제공하는 Text의 경우 유니티의 기본 UGUI인 UIText.. unity3d/Class 2022. 6. 24.
[unity] 모듈 제작 : 나만의 이벤트 매니저 만들기 Unity에서 인터페이스를 활용한 이벤트 매니저 모듈을 만드는 방법에 대해 알아보자. 1. 유니티에서 이벤트 시스템 유니티에서는 기본적으로 다양한 이벤트 시스템을 지원하며, 우리는 유니티에서 제공해주는 다양한 이벤트 시스템을 이미 활용하고 있다. 만약 특정 오브젝트를 터치 시작 -> 드래그 -> 터치 종료 같은 기능을 사용해서 이동하고 싶을 때, 어떻게 구현을 했을까? UnityEngine.EventSystems; 를 우선 선언해주고 IBeginDragHandler, IDragHandler, IEndDragHandler 인터페이스를 상속받아 기능을 구현해줬을 것이다. 코드로 보면 다음과 같다. namespace Modules.EventSystem { public class EventManager : M.. unity3d/Modules 2022. 6. 24.
[unity] 디자인 패턴 : 싱글톤 패턴(Singleton Pattern) Unity와 C#을 통한 싱글톤 패턴(Singleton Pattern)의 정의와 사용 방법에 대해 알아보자. 1. 싱글톤 패턴(Singleton Pattern)이란? 싱글톤 패턴(Singleton Pattern)은 클래스 인스턴스를 하나만 만들고, 그 인스턴스로의 전역 접근을 제공하는 디자인 패턴을 말한다. 싱글톤 패턴은 클래스에서 하나뿐인 인스턴스를 관리하도록 만들어야 되며, 다른 어떤 클래스에서도 자신의 인스턴스를 추가로 만들지 못하게 해야 한다. 혹여나 인스턴스가 필요하다면 반드시 클래스 자신을 거치도록 해야 한다. 유니티에서는 주로 Awake() 함수에서 인스턴스를 할당하고, Destroy() 함수에서 인스턴스를 해제해준다. 싱글톤 객체는 그 인스턴스에 접근할 수 있도록 전역 접근자를 제공해야 한.. unity3d/DesignPattern 2022. 6. 23.
[Unity] 디자인 패턴 : 데코레이터 패턴(Decorator Pattern) Unity와 C#을 통한 데코레이터 패턴(Decorator Pattern)의 정의와 사용 방법에 대해 알아보자. 1. 데코레이터 패턴(Decorator Pattern)이란? 데코레이터 패턴(Decorator Pattern)은 객체에 추가 요소를 동적으로 더할 수 있는 디자인 패턴이다. 개발 확장에 있어 base 클래스 밑에 서브 클래스를 만들어 확장시키는 방법을 주로 사용하는데 데코레이터를 사용하면 서브 클래스를 만들어 확장할 때보다 더 확장성 있게 구현할 수 있다. 데코레이터 패턴을 이해하기 위해서는 디자인 원칙 중 OCP(Open-Closed Principle) 원칙에 대해 알고있으면 좋다. OCP 원칙 : 클래스는 확장에는 열려 있어야 하지만 변경에는 닫혀 있어야 한다. 데코레이터 패턴은 이런 OC.. unity3d/DesignPattern 2022. 6. 21.
[Unity] 디자인 패턴 : 옵저버 패턴(Observer Pattern) Unity와 C#을 통한 옵저버 패턴(Observer Pattern)의 정의와 사용 방법에 대해 알아보자. 1. 옵저버 패턴(Observer Pattern)이란? 옵저버 패턴(Observer Pattern)은 한 객체(주제)의 상태가 바뀌면 그 객체에 의존하는 다른 객체(옵저버들)에게 메시지를 전달하고 옵저버들은 각자의 내용을 갱신할 수 있는 디자인 패턴으로 일대다(one-to-many) 의존성을 가진다. 옵저버 패턴의 핵심은 '느슨한 결합'이다. 결합이긴 하지만 강한 결합이 아닌 느슨하게 결합되어, 연결을 해지하기 유용하다. 느슨한 결합을 사용하면 객체 사이의 상호 의존성을 최소화할 수 있기 때문에 유연한 객체지향 시스템을 구축할 수 있다. 옵저버 패턴은 요즘 구독 서비스 같은 개념으로 이해하면 편하다.. unity3d/DesignPattern 2022. 6. 17.
[Unity] 디자인 패턴 : 전략 패턴(Strategy Pattern) Unity와 C#을 통한 전략 패턴(Strategy Pattern) 사용 방법에 대해 알아보자. 1. 전략 패턴이란? 행동을 정의하고 캡슐화해서 각각의 행동이 추가될 때 유연하고 독립적으로 변경하여 사용할 수 있게 도와주는 패턴 특정 상황에 따라 행동을 바꾸고 싶을 때 적용하면 유용한 패턴 ex) 캐릭터가 전투 상황에 따라 무기를 교체할 때 2. 사용 예제 - 문제 상황 필자가 좋아하는 자동차로 상황을 만들어 보겠다. 자동차 회사들의 자동차를 시뮬레이션하는 프로그램을 제작한다고 가정해보자. H사의 - HCar 자동차 모델이 있고, T회사의 TCar 자동차 모델이 있다. 모든 자동차는 Display() : 자동차 외관을 보여주는 함수, Move() : 자동차가 굴러가면서 움직이는 함수 두 가지 함수를 가지.. unity3d/DesignPattern 2022. 6. 16.
[Unity] UI를 위한 UGUI 최적화 방안 Unity UI에서 사용하는 UGUI의 최적화 방안과 성능 향상을 위한 방안에 대해 알아보자. Unity에서 UI 구성시 아직까지는 UGUI를 이용하여 UI 요소를 화면에 배치하고 화면을 구성하는 것이 일반적이다. 게임이나 앱이 대규모일수록 UI 구성도 많아지고 복잡해진다. 이럴 경우 디자이너와의 커뮤니케이션도 상당히 중요하다. 디자이너와의 협업을 위해서는 반드시 유니티에서의 UI 최적화 방안에 대해 알고 커뮤니케이션하는 게 좋다. UI 최적화의 가장 기본이 되는 것은 Unity Graphics의 Batches 및 SetPass calls 수치 값을 낮추는 게 중요하다. Batches는 하나의 랜더링 돼야 하는 항목이 늘어날수록 하나씩 추가되며 SetPass calls는 같은 이미지라도 메터리얼이 달라질.. unity3d/Research 2022. 6. 14.
[Unity] 넷플릭스 같은 멀티 스크롤뷰 UI 만들기 Unity UI에서 스크롤 뷰를 확장하여 넷플릭스(Netflix) UI 같이 멀티 스크롤 뷰가 되는 방법에 대해 알아보자. Unity UI 제작 시 메인 페이지는 상하 좌우로 스크롤이 되어야 하고, 메인 페이지 내 서브 페이지는 좌우로 스크롤돼야 하는 화면을 만든다고 가정해보자. (넷플릭스 메인화면과 같은 화면) 기본적으로 메인 페이지의 ScrollRect 컴포넌트의 Horizontal 옵션을 체크 해제하여 상하 좌우 스크롤만 되도록 하게 하고, 서브 페이지의 ScrollRect에는 Vertical 옵션을 체크 해제하여 좌우만 스크롤되도록 구성을 하는 것이 일반적이다. 이럴 경우 문제가 서브페이지에서 상하 스크롤을 할 경우 상하 스크롤이 되지 않는다. 서브 페이지에서 상하 스크롤을 할 경우, 메인 페이지.. unity3d/Class 2022. 6. 13.
[Unity] UI 재사용 스크롤뷰 제작 Unity UI에서 스크롤 뷰는 상당히 많은 곳에서 사용한다. 이런 스크롤 뷰를 재사용 가능한 스크롤 뷰로 만드는 방법에 대해 알아보자. Unity ScrollView의 단점은 스크롤되는 데이터가 많아질수록 느려지고 메모리 사용도 많아진다는 점이다. 따라서, 스크롤뷰에 아이템을 Instantiate를 통해 모든 데이터를 생성하는 것이 아닌 일부 아이템을 가지고 데이터만 교체해주는 오브젝트 풀링 방식으로 개선하게 되면, 속도 향상 및 메모리 확보 효과도 좋다. Instantiate를 통한 오브젝트 생성 및 Destroy를 통한 오브젝트 삭제의 과정을 거치지 않기에 프레임 밀림 현상도 개선이 된다. 해당 기능 구현을 위해 총 2개의 base 클래스를 먼저 제작해보자. 1. UIRecycleViewContro.. unity3d/Class 2022. 6. 10.