[Unity 최적화] Dynamic Resolution을 적용해보자!
Unity/Tips 2023. 8. 2. 19:52[Unity 최적화] Dynamic Resolution을 적용해보자!

✌️개요 2024 .04 수정 Unity의 Dynamic Resolution이란 원하는 Camera를 정해서 런타임 시 현재 퍼포먼스에 맞춰서 그 Camera의 해상도가 동적으로 조정되게 하는 기능이다. 비슷한 작업으로는 Upscale Sampling이있다. Upscale Sampling은 Camera가 렌더텍스쳐에 렌더링하게 설정해두고 렌더텍스쳐의 해상도를 조절하는 방식이다. 둘다 결과적으로 하는일은 비슷하다. 중요한건 UI의 해상도는 그대로 두고 인게임 렌더링의 해상도만 열화를 시켜야 티가 덜나게된다. 📌이 글은 Unity 2020 3.35버전, 안드로이드 플랫폼, Built-in 파이프라인을 기준으로 설명합니다. 🔥본문 먼저 사전준비를 해보자 1. Player세팅에서 Frame Timing Stat..

[Unity] Adressable에셋 코드로 링크(인스펙터 등록)하기
Unity/Tips 2023. 6. 24. 22:07[Unity] Adressable에셋 코드로 링크(인스펙터 등록)하기

개요 Adressable을 프로젝트에 도입할 때 관리할 Adressable 에셋들을 인스펙터 리스트에 담아두거나 하고싶은데 Adressable은 여러 에셋을 한번에 드래그해서 리스트에 담을 수 없다. 그래서 코드로 List 타입에서 List타입으로 복사하는 방법을 기록한다. 본문 코드는 다음과 같다. [SerializeField] private List adressableSprites; [SerializeField] private List tempSprites; #if UNITY_EDITOR [Button] public void SpritesToAdressableList() { adressableSprites = new List(); foreach (var spr in tempSprites) { stri..

[Unity] Admob사용 시 Screen.Orientation을 건드리면 생기는 문제
Unity/TroubleShooting 2023. 5. 31. 14:31[Unity] Admob사용 시 Screen.Orientation을 건드리면 생기는 문제

개요 유니티 프로젝트에 광고를 넣기 위해 구글 애드몹SDK를 넣어서 구현했다. 우리 프로젝트는 기본적으로 가로화면 이지만 미니게임에 따라서 Screen.Orientation 을 건드려서 화면을 강제 회전을 시켰다. 그런데, 화면 회전 이후에 광고를 호출하면 광고가 호출되지 않는 버그가 있었다. (특히 iOS에서) 우여곡절끝에 발견한 해결법을 기록한다. 본문 먼저 해본 방법들은 이렇다. 광고 SDK 초기화를 화면을 돌린 이후에 다시 호출 (MobileAds.Initialize();) => 효과는 없었다. 광고를 호출하기 전에 화면을 가로로 다시 회전시키고 (앱이 시작할 때 가로였으니까) 광고가 끝나면 광고 호출 전 Screen.Orientation을 다시 복구 =>처음엔 되나 싶었지만 완벽하지 못했다. 그..

[Firebase] FirebaseAuth 소셜로그인 콜백 주의점
Unity/TroubleShooting 2023. 5. 26. 12:55[Firebase] FirebaseAuth 소셜로그인 콜백 주의점

Firebase를 이용하여 구글이나 애플로그인 등등을 할 때 auth.SignInWithCredentialAsync(credential).ContinueWith(task => { ... }); 이런 콜백을 거치게 되는데 잘보면 콜백 타입이 Task이다 즉, 콜백이 메인스레드에서 돌아가지 않을 수 있다는 것. 😮 서브 스레드에서 돌아가면 어떤 문제가 일어나나요? - 유니티는 서브 스레드에서 유니티의 API를 호출할 수 없다. 에러와 함께 스레드가 종료돼버리고 try, catch문으로 에러를 출력하지 않는다면 콘솔에 에러도 출력되지 않는다. 그래서 이 경우엔 2가지 방법이 있다. 1. bool변수로 플래그를 세워서 Update()문에서 플래그 체크 후 이후 작업 진행 2. 큐에 액션을 담아놓고 외부 클래스에..

[Unity iOS] 파이어 베이스 임포트 이후 빌드실패 해결
Unity/iOS 2023. 4. 21. 20:58[Unity iOS] 파이어 베이스 임포트 이후 빌드실패 해결

이 글은 작업 당시 급박했던지라 기록을 많이 남기지 않아서 깔끔하게 정리할 수 없습니다. 다른 분들이 보시면 이해하기 어려우실 수 있습니다. 개요 iOS에서 소셜 로그인 기능을 넣기위해 파이어 베이스 패키지를 임포트했는데 이때부터 윈도우에서 빌드하고 Xcode프로젝트를 맥으로 옮겨서 빌드하는 방법이 안통하기 시작 찾아보니 이 순간부터 빌드하는데 CocoaPods가 필요하기 시작 cocoapods? CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over 27 thousand libraries and is used in over 1.6 million apps. CocoaPods can help you sca..

[Unity] Button을 상속받아 커스텀하기
Unity/UI 2023. 3. 9. 14:08[Unity] Button을 상속받아 커스텀하기

개요 -이 작업을 하게된 계기 효과음 사운드 적용 작업을 시작하게 됐는데 생각해보니 UI버튼에 사운드가 들어갈 대비를 미리 안했었다. 그래서 그 많은 UI에 일일히 사운드를 연결해줘야하나 고민하다가 Button 클래스를 상속받아 새로운 버튼 클래스를 만들어서 확장성을 넓히기로 결정했다. 본문 1. 일단 상속을 받아보자 ! 먼저 Button 클래스를 냅다 상속받고 변수를 하나 추가한 뒤에 인스펙터를 확인해보자. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; using UnityEditor; using UnityEdit..

image