지나주 MYPI

지나주
접속 : 3400   Lv. 40

Category

Profile

Counter

  • 오늘 : 6 명
  • 전체 : 127289 명
  • Mypi Ver. 0.3.1 β
[게임 개발] 유니티 - UIParticleSystem 패키지 설치 (2) 2021/07/20 PM 12:00

ParticleSystem을 UI 위에 표시합니다.

 

[세줄 요약]

1. uGUI 위에 ParticleSystem(의 Renderer)를 보여주는 공개 에셋패키지를 찾았다

2. 최신 유니티 에디터에서 다운받은 unitypackage 파일을 설치하는 방법을 몰라 헤맸다

3. UIParticleSystme 에셋패키지를 잘 설치하고, 손쉽게 적용했다

 

 

1. uGUI 위에 파티클 올리기

NGUI때부터 지금의 uGUI까지, 파티클을 UI 위에 출력하기가 쉽지 않네요.

공부하려고 구글링하다보면 Layer, Camera, Shader까지 범위가 넓어지는데 이해가 잘 안되더라구요.

 

(ParticleSystem이랑 비슷하게 곤란했던 경험이 UI 위에 일반 Sprite를 출력하는 것이었는데, 이건 잘 해결되었어요)

 

주산 로직과 기본 플레이 개발이 끝나서 껍데기를 다시 씌우고 있는데요.

결국 UI 위에 Particle을 씌우는 작업을 마주하게 되었어요.

 

일단 Canvas > UI > Coin bag > fx_coin_shining 파티클시스템 객체를 생성했는데요.

역시나 기대를 져버리지 않고, 생성한 파티클은 UI에 가려서 보이질 않네요.

(Canvas 의 RenderMode 를 Screen Space - Overay 로 설정해서, UI가 항상 최상단에 찍히고 있어요)

 

그러나!

신에게는 이미 유료 구매한 GUI_PRO_KIT 에셋이 있사옵니다.

https://assetstore.unity.com/packages/2d/gui/gui-pro-kit-casual-game-176695

 

주산에 사용할만한 UI 그래픽 디자인 리소스 에셋인데요.

깔끔한 게임 그래픽에 샘플 화면 구성도 잘 되어 있어서 큰 도움을 받고 있습니다.

프로젝트 초기에 디자인 컨셉을 잡기 위해 샘플 프로젝트를 실행하고 쭉 둘러봤었는데요.

잘 만들어진 샘플 scene중에 ScrollView, 각종 Layout, 그리고 ParticleSystem이 구현되어 있더라구요.

 

GUI_PRO_KIT 에셋의 샘플 신을 실행하고 파티클 내용을 그대로 따라서 만들었는데요.

ParticleSystem 마지막 작업인 Rederer를 설정하지 않네요?

그리고 그 아래 UIParticleSystem 컴포넌트가 추가되어있고, UIParticleSystem 컴포넌트에 렌더러를 지정하고 있었습니다.

 

자체 코드로 구현한 기능인가? 하고 샘플 프로젝트를 이리 저리 살펴봤더니

UIParticle 이라는 Extension이 사용되었더라구요.

그래서 구글링으로 UIParticleSystem 로 검색해서 해당 unitypackage를 찾았습니다.

https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/wiki/Controls/UIParticleSystem

 

 

2. 최신 Unity 에디터에서 unitypackage 파일 설치

unitypackage 파일을 다운받고 설치하려는데

메뉴에서 Assets > Import Package 항목이 비활성화 되어 있는 것입니다? cheditor_5193/icons/em/48.gif

 

유니티 2019쯤부터였나요? Package Manager 기능이 별도의 창으로 구현되어 있어서 뒤져보기 시작합니다.

Package Manager 창 좌상단에 [+] 버튼이 있네요. [+] 버튼을 누르고 Add package from disk... 를 실행합니다.

파인더(탐색창)에서 다운받은 unitypackage 파일을 불러오려고 봤더니, 해당 unitypackage 파일이 로딩 비활성화되어있네요? cheditor_5193/icons/em/48.gif

(Add package from disk... 로 불러오는 것은 package.json 파일이라네요. unitypackage 파일은 해당사항이 아닌가봅니다) 

 

순간 "앱스토어나 플레이스토어처럼 유니티도 인증된 (에셋스토어에 등록된) 에셋만 설치를 허용하나?" 하는 생각이 들었습니다.

구글링하는데 흥분해서 그런지 딱 맞는 해결책이 보이질 않네요. 옛날 유니티 에디터 버전 설치 방식글들만 나오고...

급한 마음에 unitypackage 파일을 드래그해서 유니티 에디터 이곳 저곳에 막 넣어봅니다.

 

그러다 Project 뷰 제일 아래에 있는 Package 폴더가 보이더군요.

혹시나해서 그 안에 드래그-드롭했더니 패키지 설치 창이 실행됩니다.

잠시마나 유니티를 의심했던 자신을 반성합니다.

 

 

3. UIParticleSystme 설치 및 적용

패키지 설치를 끝내고, 아까 만들다 멈춘 파티클 게임 오브젝트에 UIParticleSystme 컴포넌트를 추가합니다.

기존에 작업한 ParticleSystme의 가장 아래 항목 - Renderer는 [ ] 체크를 해제해서 비활성화하고요.

추가한 UIParticleSystem 컴포넌트의 Material에 준비된 이펙트용 이미지 머티리얼을 드래그해서 넣어주었습니다.

와우! UI 위로 파티클 이펙트 스프라이트가 제대로 출력되는군요.

 

 

전에는 정말 너무 몰라서 맨땅에 해딩을 너무 오래했었는데요.

이제는 현금 결제를 통해 쉽게 돌아가는 방법을 체득했습니다.

이번에 도움이 된 GUI_PRO_KIT 에셋($29.99) 말고도 2D 게임 풀 프로젝트인 Corgi Engine - 2D + 2.5D Platformer($60) 에셋도 가끔씩 실행해서 살펴보고 있습니다.

코드나 구조를 그대로 사용하기는 힘들지만, 미리 살펴두면 오늘처럼 문제가 생길 때 "아 그 에셋 샘플 프로젝트에선 구현되어 있던데" 하고 찾아볼 수 있어서 좋더라구요.

신고

 

공허의 집시데인저    친구신청

워메...어렵네요 ....

지나주    친구신청

고민하지 마시고 UIParticleSystem 에셋을 설치하면 될 거 같아요. ^^
X