개발/게임

개발/게임

Unity:: 안드로이드 빌드 오류 해결방안

AdMob, Firebase, GooglePlayGames SDK를 추가한 후 생긴 안드로이드 빌드 오류를 해결한 방법을 정리했다.유니티 버전 : 6000.0.29.f1 AD_SERVICES_CONFIG오류 메시지Attribute property#android.adservices.AD_SERVICES_CONFIG@resource value=(@xml/ga_ad_services_config) from [com.google.android.gms:play-services-measurement-api:22.1.0] AndroidManifest.xml:32:13-58 is also present at [com.google.android.gms:play-services-ads-lite:23.4.0] AndroidM..

개발/게임

UI:: World to Screen Position 주의할 점 (UI Scaling)

핵심유니티{ var screenPosition = mainCamera.WorldToScreenPoint(target.position); // 가로 기준에 맞춤 => Canvas Scaler 옵션이 다르면 코드 수정 필요 var ratio = canvasScaler.referenceResolution.x / Screen.width; screenPosition *= ratio; mark.anchoredPosition = screenPosition;} 언리얼{ // Viewport 크기 구하기 GEngine->GameViewport->GetViewportSize(ViewportSize); // 현재 DPI Scale..

개발/게임

Unity:: TDD / Unity Test Framework (업무 회고)

문제 요약 프로젝트 종류 : 2D 전략 게임 개발내용 : 전투 중 각 Soldier의 공격 방향에 맞게 스프라이트 모양 및 방향을 바꿔주는 것 문제 상황 : 스프라이트 모양, 방향을 바꾸는데 각각 IsFront / IsRight로 함수를 나누어서 코드를 짬. 이와 같이 코드를 짜니 디버깅하기 힘든 문제가 있었음. IsFront() / IsRight() 결과를 둘다 확인해야 함 해결 방법 스프라이트 모양및방향 조합은 앞면오른쪽/앞면왼쪽/뒷면오른쪽/뒷면왼쪽으로 있다. 모양+방향이 원하는 결과이므로 enum을 사용하여 리팩토링했다. IsFront(), IsRight() : bool => GetSpriteDirection : enum으로 변경 문제가 발생한 이유 객체 지향 프로그래밍은 프로그램 구현에 필요한 객..

개발/게임

Unity:: ScrollRect의 개념 & 동적 정렬

개요이번 글에서는 Unity Component 중 ScrollRect를 통해 UI 요소를 스크롤하고 UI 요소가 동적으로 생길 때 ScrollRect를 설정하는 방법에 대해 알아보고자 한다.ScrollRect콘텐츠를 스크롤할 수 있는 Component구조Hierarchy에서 GameObject > UI > Scroll View 메뉴를 선택했을 때 뜨는 기본값이다. Scroll View 구성요소 조건Viewport (뷰포트) : 스크롤되는 화면을 보여주는 것mask 컴포넌트가 있어야 함추가설명 : mask 컴포넌트를 쓰는 이유더보기추가설명Content (콘텐츠) : 스크롤되는 대상Viewport 의 단일 게임 오브젝트여야 함 (스크롤되고자 하는 대상은 1가지여야만 한다는 얘기)Scrollbar (스크롤바)..

개발/게임

Unity:: Layout Group & Layout Element

개요이번 글에서는 Unity Component 중 Layout group을 통해 간편하게 UI 요소들을 정렬하는 방법에 대해 알아보고 Layout Element를 통해 UI 요소들의 비율을 조정하는 방법에 대해 알아보고자 한다.Layout GroupUI 요소를 자동으로 정렬하는 ComponentHorizontal Layout GroupVertical Layout GroupGrid Laytout GroupVertical Layout Group & Horizontal Layout Group정렬하고자 하는 구성 요소들의 부모 오브젝트에 Layout Group을 붙여주면 아래와 같이 정렬된다.Vertical Layout Group (수직 정렬)Horizontal Layout Group (수평 정렬)Q. 자식 오..

개발/게임

Unity:: UI 해상도 대응

개요 Unity:: UI RectTransform 개념에서 살펴보았다. 이번에는 RectTransform을 활용하여 여러 해상도에 맡게 UI를 구성하는 방법을 알아보고자 한다. UI 해상도 대응 모바일 게임에서 대응해야할 해상도 참고자료 더보기 https://zetawiki.com/wiki/%EC%8A%A4%EB%A7%88%ED%8A%B8%ED%8F%B0_%ED%95%B4%EC%83%81%EB%8F%84,_%ED%99%94%EB%A9%B4%EB%B9%84%EC%9C%A8 스마트폰 해상도, 화면비율 - 제타위키 9:16 1440 × 2560(갤6, 갤7, 갤노4, 갤노5, G3, G4, G5, 픽셀XL)1080 × 1920(갤4, 갤5, 갤노3, 옵G프로, G2, 넥5, 아이폰6, 픽셀) zetawiki...

개발/게임

Unity:: RectTransform 개념

개요UI를 구성하는데 가장 중요한 점은 여러 해상도에 맞게 구성하는 것이다. 여러 해상도에 맡게 UI를 구성하는 방법을 알기 위해 이번 게시물에서 RectTransform의 기본을 알아가고 다음 게시물에서는 앵커를 활용해서 유연하게 해상도 대응을 하는 방법에 대해 알아보고자 한다.RectTransform유니티 공식 홈페이지UI 요소를 안에 넣을 수 있는 사각형을 나타냄Tranform 컴포넌트의 2D 레이아웃 버전 - Transform 컴포넌트를 상속받음상위 RectTransform을 이용해 상대적인 위치 및 크기를 지정할 수 있음Property 이해앵커(Anchor) / 피벗(Pivot) 앵커(Anchor) : 부모 오브젝트의 기준점 이미지의 바람개비 모양이 앵커를 나타낸다 Anchor의 Min, Max..

개발/게임

Unity:: 개발일지 230210 캐릭터 움직임 / 마우스 입력

기억할 것 TextMeshPro 컴포넌트 가져올 때 TextMeshProUGUI를 가져와야 함. Tip) 컴포넌트명을 모르겠으면 Edit Script로 확인할 수 있는 컴포넌트가 있음 고민사항 public 변수의 사용을 막기 위해 싱글톤을 사용했는데 InfoUIManager를 public으로 받아서 Managers를 통해 다른 클래스에서 사용할 수 있도록 구성 이 구조대로 가면 지난번에 설계한 것과 비슷한 흐름으로 갈 거 같은데 InfoUIManager를 싱글톤 처리하면 어떠려나.. 근데 이걸 싱글톤 처리하면 앞으로 생기는 매니저들도 싱글톤을 사용해서 결국 메모리 관리에 비효율적이게 될거 같다. 해야할 일 타이핑 효과 클릭했을 때 다음 문구로 넘어가도록 230210 이전 내용 스트레스 게이지바 (체력바)..