728x90

유니티 엔진 (Unity Engine) 141

유니티 엔진 2021.1 버전 매뉴얼에 새로 추가된 것 (게임 개발 퀵스타트 가이드)

Unity Engine 공식 도큐먼트를 둘러보다가 2021.1 버전 문서의 New in Unity 2021.1 페이지를 봤습니다. 어떤 것들이 추가됐는지를 보여주는 문서로, 2021.1 버전 문서에만 존재하는 페이지입니다. 다른 버전 문서에는 해당 버전의 새로운 내용들이 있으니까요. New in UInity 2021.1 문서에서 눈길이 가는 항목이 있었습니다. New documentation 항목 아래에 있는 두 개 항목. - 2D Game development quickstart guide (2D 게임 개발 빠른시작 가이드) - 3D Game development quickstart guide (3D 게임 개발 빠른시작 가이드) 이 두 개 항목입니다. 2D game development quicksta..

[Unity Asset] 간단한 안드로이드 푸쉬 알림 Simple Android Notifications Free

. 짧은 코드로 간단하게 유니티 안드로이드 앱에서 푸쉬 메시지를 구현할 수 있게 해주는 에셋입니다. 좀비버스 개발할 때 활용했던 에셋인데, 사용법이 간단하고 쉽습니다. ​ 무료 에셋이라 부담없이 추가할 수 있고, 심플한 푸쉬가 필요하다면 갖다 쓰기 좋습니다. https://assetstore.unity.com/packages/tools/integration/simple-android-notifications-free-68626 Simple Android Notifications Free | 기능 통합 | Unity Asset Store Use the Simple Android Notifications Free from Hippo on your next project. Find this integratio..

[Unity] Google AdMob 모바일 광고 SDK for Unity

. 아래가 구글 애드몹 퀵스타트 페이지 링크. 페이지에 있는 "플러그인 다운로드" 버튼을 클릭하여 구글 애드몹 유니티 플러그인 깃헙 사이트로 이동해서 패키지를 다운로드 하고 임포트 하면 기본적인 셋팅은 간단하게 끝. https://developers.google.com/admob/unity/quick-start?hl=ko 시작하기 | Unity | Google Developers Unity에서 앱을 제작 중인 AdMob 게시자를 위한 모바일 광고 SDK입니다. developers.google.com 구글 애즈 모바일 유니티 플러그인 깃헙 사이트 2021년 11월 28일 기준 v6.1.2 버전 GoogleMobileAds-v6.1.2.unitypackage https://github.com/googlead..

[Unity] 빌드에러 AndroidManifest.xml:41: AAPT: error: unexpected element <queries> found in <manifest>.

\Temp\gradleOut\launcher\build\intermediates\merged_manifests\release\AndroidManifest.xml:41: AAPT: error: unexpected element found in . ​ 검색해보니 gradle 버전을 올리면 된다고 합니다. quries 라는 엘러먼트를 구버전 gradle에선 인식을 못하나보네요. ​ 아래 경로에서 baseProjectTemplate.gradle 파일을 열어서 dependencies 의 classpath 를 수정. 3.4.0 버전을 3.4.3 으로 수정. 다른 사소한 문제들도 좀 있었지만, 어쨌든 빌드 성공!

[Unity] 아틀라스(Atlase)로 묶은 스프라이트(Sprite) 문제들

유니티에서 여러가지 이미지, 특히 아이콘들을 다룰 때 최대한 배칭을 줄이기 위해 아틀라싱을 하게 되는데, 이 때 대표적으로 아래 두 가지 문제를 겪을 수 있습니다. ​ 문제1. 스프라이트가 돌아가(회전) 보이는 경우. 말 그대로 정상적으로 보여야 할 이미지가 90도 혹은 180도 돌아간 모양으로 보이는 경우. Packing 과정에서 최대한 많은 이미지를 담기 위한 알고리즘이 동작하면서 이미지를 회전시켰을 때 발생하는 문제입니다. Atlas 를 선택하고 Inspector 에서 Packing / Allow Rotation 옵션을 꺼주면 됩니다. ​ 문제2. 이미지 테두리에 이상한 그림이 걸쳐 보이는 경우. 보여주고자 하는 이미지만 정상적으로 보이지 않고, 이미지 테두리쯤에 알 수 없는 도트나 이미지가 걸쳐 ..

[Unity] Canvas Order 설정으로 팝업창 구현

팝업창이나 다른 페이지 위에 올라가는 페이지 UI 를 구성하기 위해 Layer Order 를 조정하는 것이 깔끔한데, 이렇게 Layer Order 를 조정해주는 컨테이너 성격의 컴포넌트가 Canvas 컴포넌트. 이런 구성입니다. 기본 Canvas 는 Order in Layer 가 0 이고, 이 갚이 클수록 위로 올라옵니다. Scene 에 배치하고 상수를 입력하기보다는, 코드에서 Order in Layer 값을 설정하도록 하면 UI 댑스를 관리하기엔 좋을 것 같네요. ​ Canvas 컴포넌트 아래에는 Graphic Raycaster 라는 컴포넌트가 있는데, 이 컴포넌트가 없으면 아래 깔린 다른 UI 가 클릭 이벤트 등을 받아버리는 문제가 생깁니다. 그래서 Graphic Raycaster 컴포넌트를 붙여서,..

[Unity] 간단한 SoundManager 소스코드 공유

. 게임을 만들 때 사운드 처리도 필수도 들어가게 되죠. 최근 간단하게 사운드 재생 처리할 일이 있어서 모듈을 만들었습니다. 쉽고 간단한 코드라서 메모 차원에서 공유해봅니다. ​ GitHub 의 Rrepository 에 올리고 링크를 공유하는 것도 좋겠지만, 대부분의 코드는 개인 저장소로 관리하고 있어서, 이번처럼 간단한 코드 메모+공유 차원에서 다루게 된다면 스닙펫처럼 일부만 발췌해서 블로그로 공유하는 방식으로 해볼까 합니다. ​ 우선 제목에서 다뤘듯이 아래는 SoundManager 의 풀 소스코드. using System.Collections; using System.Collections.Generic; using UnityEngine; public class WSRSoundManager { Dict..

[Unity] 유튜브의 Unity 강좌 채널 5개

. 요즘 밥먹을 때 유튜브를 주로 보는데, 특히 유니티 강좌 채널들에서 제가 모르던 분야 기술을 리뷰해주는 영상을 주로 보게 됩니다. 같은 유씨라 그런지 유튜브에 유니티 강좌가 참 많은데, 그 중 괜찮은 채널들 스크랩 해봅니다. ​ 고라니 https://www.youtube.com/channel/UCqzWomWZKZUKOdT0sQdWFPQ 고라니TV - 게임개발 채널 복잡한 게임개발을 쉽고 빠르게 고라니입니다. ^^ 유니티 튜토리얼을 진행하고 있습니다. 게임개발을 사랑하시는 분들에게 도움이 되고자 코드를 줄이고, 최대한 간결하게 설명하도록 하겠습니 www.youtube.com 케이디 https://www.youtube.com/channel/UC9w-j0OqNzdtOqiYj4lDHmg 케이디 유니티에 대한..

[Unity] Custom Editor, ReorderableList 적용하기

. 유니티 에디터에서 Inspector 를 이쁘게 정리하기 위해 ReorderableList 적용하기 포스트. 사용해야할 기본 코드 using UnityEditorInternal; // 클래스 내에서 private ReorderableList list; private void OnEnable() { list = new ReorderableList(serializedObject, serializedObject.FindProperty("TriggerList"), true, true, true, true); // Element 가 그려질 때 Callback list.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => { ..

[Unity] Serialize 타입, 값 유지하기 (FormerlySerializedAs)

. 커스텀 컴포넌트를 추가해서 인스펙터로 값을 많이 입력하고 있었는데, 리팩토링하면서 타입과 내용을 변경할 일이 생겼습니다. 그냥 바꿨다간 인스펙터에 입력했던 값들이 모두 날아가기 때문에 별도의 방법을 써야하나 고민이었는데.. 결과적으론 FormerlySerializedAs( oldName ) 속성을 사용하면 해결됩니다. using UnityEngine; using UnityEngine.Serialization; public class MyMonster : MonoBehaviour { [FormerlySerializedAs("hitpoints")] public int health; } 위처럼, FormerlySerializeAs 인자로 이전 변수 이름을 넣어주면, 새로운 변수에 값이 반영됩니다. 타입만 ..

728x90
반응형