unity16 [unity] 에셋스토어 패키지 다운로드 경로 알아보기 에셋스토어 or 패키지 매니저에서 다운로드한 유니티 패키지 파일이 어디 저장되는지 알아보자. 유니티에서 에셋스토어나 패키지매니저를 통해 에셋을 받은 후 패키지 파일만 따로 관리하고 싶을 때가 있다. 하나 예를 들어, 지금 진행중인 프로젝트가 유니티 2020 버전에서 제작 중인데, 받고 싶은 유니티 에셋이 다운로드 최소 유니티 버전이 2021일 경우가 있다. 이럴 경우, 유니티 2021 버전에서 빈 프로젝트 생성 후 패키지 파일을 다운로드한 후, 해당 패키지 파일을 다시 2020 버전의 본 프로젝트에 임포트 해주는 경우가 많다. 이럴 경우, 패키지 파일이 어디에 저장되는지 알아두면 상당히 유용하다. 1. 윈도우 운영체제에서의 에셋스토어 패키지 다운로드 경로 C:\\Users\\사용자명\\AppData\\R.. unity3d/Research 2022. 8. 1. 더보기 ›› [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] 디자인 패턴 : 싱글톤 패턴(Singleton Pattern) Unity와 C#을 통한 싱글톤 패턴(Singleton Pattern)의 정의와 사용 방법에 대해 알아보자. 1. 싱글톤 패턴(Singleton Pattern)이란? 싱글톤 패턴(Singleton Pattern)은 클래스 인스턴스를 하나만 만들고, 그 인스턴스로의 전역 접근을 제공하는 디자인 패턴을 말한다. 싱글톤 패턴은 클래스에서 하나뿐인 인스턴스를 관리하도록 만들어야 되며, 다른 어떤 클래스에서도 자신의 인스턴스를 추가로 만들지 못하게 해야 한다. 혹여나 인스턴스가 필요하다면 반드시 클래스 자신을 거치도록 해야 한다. 유니티에서는 주로 Awake() 함수에서 인스턴스를 할당하고, Destroy() 함수에서 인스턴스를 해제해준다. 싱글톤 객체는 그 인스턴스에 접근할 수 있도록 전역 접근자를 제공해야 한.. unity3d/DesignPattern 2022. 6. 23. 더보기 ›› [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 DragDrop Class Unity UI에서 자주 사용하는 DragDrop 기능을 구현해보자. Unity에서 미니 2D Game 기능 중 DragDrop 기능은 상당히 많이 사용한다. Unity에서 2D Image를 마우스(터치)를 통해 Drag 하고 원하는 위치에 Drop 할 수 있는 클래스를 제작해 보자. 1. 사전 준비 - LeanTween 플러그인 설치 - Unity에서 Tween 기능 구현을 위해 LeanTween 라이브러리 에셋을 사용하겠다. - LeanTween은 에셋스토어를 통해서 무료로 다운로드할 수 있다. - Drop존에 가까이 왔을 때 자동으로 Drop존으로 Tween 하도록 할 때 해당 라이브러리 기능을 사용한다. - 다운로드 받으러 가기 2. UIDragBehaviour Class 작성 - UIDragBe.. unity3d/Class 2022. 6. 8. 더보기 ›› [unity] 2D Circle Mask Shader Unity에서 Circle 형태의 Masking을 처리하는 Shader에 대해서 알아보자. 1. 기존 Masking 사용 방법 앱 개발 중 동그란 썸네일 및 동그란 아이콘 이미지를 구현해야 되는 상황이 생겼다. 간단하게 샘플을 만들어 보면, Icon 이미지와 Mask 이미지를 준비한다. 유니티 프로젝트에서 Canvas와 Panel을 만들고 아래와 같이 자식 구조를 해준다. 중요한 점은 MaskImage 게임오브젝트에 Mask 컴포넌트가 붙어 있어야 된다. 실행해보면, 동그랗게 잘 마스킹이 잘 된 것을 확인할 수 있다. 이렇게 구성했을 경우 batch가 7이 된다. 2. Shader를 사용한 Masking 방법 Unity 프로젝트에서 Create-> Shader 를 클릭한 후 아무 셰이더를 1개 만들어 준.. unity3d/Shader 2022. 5. 27. 더보기 ›› [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] Build Script class Unity에서 프로젝트 세팅으로 하는 빌드가 아닌, 빌드를 스크립트를 통해서 빌드할 수 있는 Build Script Class를 제작해보자. 1. Build Script를 사용해야 되는 이유 - Unity에서 빌드는 File Build Settting -> Build or Build And Run을 통한 빌드를 하는 것이 일반적이다. 하지만 프로젝트를 열때마다 입력해야 하는 keystore 비밀번호나, apk 경로, apk 이름 등을 간소화하고자 빌드 스크립트를 이용하는 경우도 많아지고 있다. - 게임이나 앱 제작 시 빌드 스크립트만 잘 구축해 놓아도 상당히 시간 비용을 줄일 수 있다. 2. Build Script 제작 방법 1. 우선 프로젝트를 열고 Asset/Scripts/Editor 폴더를 만들어 .. unity3d/Class 2022. 5. 20. 더보기 ›› [unity] 에셋번들 shader missing(핑크색 현상) 코드로 수정하기 유니티에서 파일 관리 및 에셋 동적 로드를 위해 에셋 번들을 주로 사용한다. 하지만 간혹 유니티 버전을 올리거나 환경이 변경되었을 때 에셋 번들을 다운로드하면, 셰이더 컴파일 오류로 인해 모델이 핑크색(shader missing)으로 보이는 현상을 코드로 수정하는 방법을 알아보자. 1. Shader Missing 현상 분석 - Unity에서 AssetBundle 로드 시 간혹 아래와 같이 핑크색으로 보이는 화면을 마주칠 때가 있다. - Assetbundle을 제작했을 때의 환경(유니티 버전)과 다운로드 받았을 때의 환경이 다른 경우 주로 발생한다. - 메터리얼을 포함하는 컴포넌트는 다양한 종류가 있지만 우선 확인해봐야 할 컴포넌트는 MeshRenderer 컴포넌트이다. MeshRenderer 컴포넌트의 .. unity3d/Troubleshooting 2022. 5. 17. 더보기 ›› [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. 더보기 ›› 이전 1 다음