본문 바로가기

unity3d/Modules13

[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에서 인터페이스를 활용한 이벤트 매니저 모듈을 만드는 방법에 대해 알아보자. 1. 유니티에서 이벤트 시스템 유니티에서는 기본적으로 다양한 이벤트 시스템을 지원하며, 우리는 유니티에서 제공해주는 다양한 이벤트 시스템을 이미 활용하고 있다. 만약 특정 오브젝트를 터치 시작 -> 드래그 -> 터치 종료 같은 기능을 사용해서 이동하고 싶을 때, 어떻게 구현을 했을까? UnityEngine.EventSystems; 를 우선 선언해주고 IBeginDragHandler, IDragHandler, IEndDragHandler 인터페이스를 상속받아 기능을 구현해줬을 것이다. 코드로 보면 다음과 같다. namespace Modules.EventSystem { public class EventManager : M.. unity3d/Modules 2022. 6. 24.
[unity] 모듈 제작 : Localization Manager 제작 Unity에서 GoogleSheet를 활용하여 현지화 언어 변환 모듈인 Localization Manager Class를 만들어 보자. 1. 구글 시트 생성 및 테이블 작성 - 구글 시트를 하나 생성한 후 간단한 테이블을 하나 만들어 준다.(구글시트 바로가기) - 테스트를 위한 테이블 구조는 아래와 같다. Korean English Japanese 호랑이 =GOOGLETRANSLATE(A2,"Ko","En") =GOOGLETRANSLATE(B2,"Ko","ja") 사자 =GOOGLETRANSLATE(A3,"Ko","En") =GOOGLETRANSLATE(B3,"Ko","ja") 코끼리 =GOOGLETRANSLATE(A4,"Ko","En") =GOOGLETRANSLATE(B4,"Ko","ja") - 기본 .. unity3d/Modules 2022. 5. 30.
[unity] 모듈 제작 : UniTask 활용한 Network system 제작 Unity Restful network manager 를 제작하여, 웹서버와 통신하는 모듈을 만들어 보자. 유니티에서 가장 흔하게 사용하는 방식은 UnityWebRequest와 코루틴을 통한 웹서버클라이언트 간 통신 방법이 있다. 코루틴을 사용한 방법들은 유니티 레퍼런스에 잘 설명되어 있으니 참고해보면 좋을 것 같다. https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest.html Unity - Scripting API: UnityWebRequest UnityWebRequest handles the flow of HTTP communication with web servers. To download and upload data, use D.. unity3d/Modules 2022. 5. 26.
[unity] 모듈 제작 : 팝업 시스템 만들기(5) 마지막으로 PopupManager 컴포넌트를 연결하고 테스트하는 방법에 대해 알아보자. 1. 컴포넌트 연결 1. 팝업 객체에 PopupAnimator 컴포넌트와 Popup 컴포넌트를 붙여준 후, 아래 이미지와 같이 멤버 변수들을 세팅해준다. Tween Type을 통해, 팝업의 Tween 효과를 설정한다. 타입 정보는 LeanTween 공식 문서를 통해 확인하면 좋다. LeanTweenType 확인하러 가기 LeanTweenType LeanTweenType Class Pass this to the "ease" parameter, to get a different easing behavior Example: LeanTween.rotateX(gameObject, 270.0f, 1.5f).setEase(Lean.. unity3d/Modules 2022. 5. 24.
[unity] 모듈 제작 : 팝업 시스템 만들기(4) Popup에 필요한 Buttons 클래스와 Popup의 정보를 가지고 있는 Info 클래스를 작성해보자. 1. 스크립트 작성 1. Popup : 팝업 객체에 붙는 컴포넌트로 팝업 내 UI 요소들을 컨트롤하는 클래스 2. PopupManager : 팝업을 관리하는 매니저 클래스 3. PopupAnimator : 팝업 애니메이션을 관리하는 클래스 3개 클래스는 이전 편을 참고하자. 2022.05.24 - [unity3d/Modules] - [unity] 모듈 제작 : 팝업 시스템 만들기(3) [unity] 모듈 제작 : 팝업 시스템 만들기(3) 팝업을 관리하는 매니저 클래스인 PopupManager Class를 제작해보자. 1. 스크립트 작성 제작 해야될 스크립트는 총 7가지로 각 클래스 별 기능 설명을 하.. unity3d/Modules 2022. 5. 24.
[unity] 모듈 제작 : 팝업 시스템 만들기(3) 팝업을 관리하는 매니저 클래스인 PopupManager Class를 제작해보자. 1. 스크립트 작성 제작 해야될 스크립트는 총 7가지로 각 클래스 별 기능 설명을 하자면 다음과 같다. 1. Popup : 팝업 객체에 붙는 컴포넌트로 팝업 내 UI 요소들을 컨트롤 하는 클래스 2. PopupManager : 팝업을 관리하는 매니저 클래스 3. PopupAnimator : 팝업 애니메이션을 관리하는 클래스 4. PopupButton : 팝업 전용 버튼 클래스 5. PopupButtonInfo : 팝업 전용 버튼 정보 클래스 6. PopupButtonType : 팝업 버튼 타입 정의 Enum 7. PopupInfo : 팝업 생성을 위한 정보를 담은 클래스 1. Popup Class - 타이틀, 내용, 버튼의 .. unity3d/Modules 2022. 5. 24.
[unity] 모듈 제작 : 팝업 시스템 만들기(2) 유니티의 UGUI를 통한 팝업 시스템의 UI 구성에 대해 알아보자. 1. UI 구성 유니티에서 Scene을 하나 생성하고 Canvas를 하나 추가해준다.(마우스 우클릭 -> UI -> Canvas) Canvas의 컴포넌트 중 Canvas Scaler의 옵션을 Scale With Screen Size로 변경 후 원하는 해상도로 맞춰준다. 필자는 기본 모바일 해상도(HD) 1280*720으로 설정했다. 또한 Canvas 컴포넌트의 Sort Order도 적당히 높여준다. 그 이유는 팝업은 항상 최상위 레이어로 랜더링 돼야 하기 때문이다. 프로젝트에서 캔버스들의 Sort Order 값을 확인한 후 팝업은 최상위 Order 값으로 설정하는 것이 좋다. 또한 프로젝트에서 Render Mode를 카메라로 설정해도 상.. unity3d/Modules 2022. 5. 24.
[unity] 모듈 제작 : 팝업 시스템 만들기(1) Unity에서 UGUI를 사용하여 빌더 패턴을 통해 공통 팝업 시스템을 만드는 방법에 대해 알아보자. 1. 팝업 시스템 소개 유니티에서 각 씬이나 화면마다 팝업에 해당하는 UI를 구성하고, 이벤트를 연결해주는 작업은 상당히 많은 시간을 소비하게 한다. 따라서 자주 사용하는 팝업 시스템 같은 요소는 공통화 시스템으로 제작하여 싱글톤 패턴으로 인스턴스를 공유해서 사용하면 개발 시간 절약 및 유지보수에 상당히 유용하다. 따라서 이번 글에서는 싱글톤 패턴과 빌더 패턴을 사용하여, 팝업 시스템(모듈)을 만들어 보고자 한다. 싱글톤 패턴을 통해, 다양한 씬에서 하나의 인스턴스를 가지고 호출할 수 있게 할 수 있는 장점이 있으며, 빌더 패턴을 사용하면, 팝업의 필요한 데이터만 설정할 수 있어 가독성도 좋아지고, 유연.. unity3d/Modules 2022. 5. 24.
[unity] 모듈 제작 : 사운드 플레이어 만들기(3) 사운드 플레이어 모듈의 화면 구성 및 Bgm과 Effect Sound 의 컴포넌트 설정 방법에 대해 알아보자. 1. 사운드 모듈 연결 구성 - Modules 라는 Scene을 만든 후 Modules 라는 GameObject를 생성한다. - Modules 자식으로 SoundPlayer GameObject를 생성한다. - SoundPlayer GameObject 자식으로 Bgm과 Effect 라는 GameObject를 생성한다. - 하이어라키 구조는 다음과 같다. - Modules - SoundPlayer - Bgm - Effect - SoundPlayer GameObject에 SoundPlayer.cs 컴포넌트를 Add 해준다.(아래 그림 설정 방법 참고) - BGM GameObject에는 Audio So.. unity3d/Modules 2022. 5. 16.
[unity] 모듈 제작 : 사운드 플레이어 만들기(2) 사운드 플레이어 모듈의 핵심 스크립트인 SoundObject 클래스를 구현해보고, 적용 방법에 대해 알아보자. 1. 사운드 오브젝트 클래스 정의 - 해당 스크립트가 적용되는 GameObject는 AudioSource 컴포넌트를 필요로 한다. - 사운드가 재생되는 오브젝트에는 SoundObject 컴포넌트가 붙어야 한다. - 사운드 재생 기능을 구현한다. - 사운드의 일시정지/해제 기능을 구현한다. - 코루틴을 사용하여 일정 시간 Delay 후 재생 가능하도록 구현한다. - 재생이 완료 된 사운드 오브젝트를 Destroy 한다. 2. 사운드 오브젝트 클래스 구현 - Scripts 폴더에 SoundObject.cs 클래스를 생성한다. - SoundObject.cs 의 코드를 아래와 같이 작성해 보자. usi.. unity3d/Modules 2022. 5. 16.
[unity] 모듈 제작 : 사운드 플레이어 만들기(1) 앱 및 게임 제작 시 공통으로 사용하는 모듈을 제작해보자. 첫번째 제작 모듈은 사운드 플레이어 모듈이다. 사운드 플레이 기능은 각 씬이나 화면에서 공통으로 사용할 수 있게 모듈화 해 놓으면 상당히 유용하다. 1. 사운드 플레이어 모듈 제작 준비 - 유니티 버전은 2019 LTS 버전을 사용한다. (상위 버전에서도 큰 문제는 없다.) - Assets/Moduls/Sound 폴더를 생성한다. ( 마우스 우클릭 -> Create -> Folder ) - Sound 폴더 밑에 Prefabs와 Scripts 폴더를 생성한다. 2. 사운드 플레이어 모듈 기능 정의 - 하나의 사운드는 메모리에 올려져 있으며, 2개 이상 사운드가 동시에 출력되야 할 경우(이펙트 사운드) 하나를 추가적으로 동적으로 생성해서 재생한다. .. unity3d/Modules 2022. 5. 16.