728x90

GameDevelop 98

[Unity] Unity 스프라이트가 잘리는 이유 (벨 UI 동그라미 잘림 해결 방법)

문제 상황오랜만에 또 띵동 프로젝트를 개선해보았다.그 이유는 엄마가 띵동 게임 플레이 하다가 이거 점수는 어떻게 올리는거야? 라고 물어봤기 때문이다.집에 달려있는 벨이 있는데 어디서 종을 눌러야 점수가 올라가는지 나는 알지만 사용자한테 안 와닿을 수 있겠구나 하는 깨달음을 얻었다. 그래서 벨 오브젝트위에 노란 강조 원을 추가하고자 하였다. 그런데 아래와 같은 문제가 생겼다. 유니티에서 오브젝트 위에 강조용 동그라미(노란 링)를 추가했는데,게임 화면에서는 바깥 부분이 사각형처럼 잘려서 나오는 문제가 발생했다. 처음엔 Mask 문제인가 싶었지만, 원인은 Sprite Rect 영역 설정이었다. 원인해당 스프라이트는 Sprite Mode: Multiple로 설정되어 있었고,Sprite Editor에서 설정..

게임 출시 준비 오류 - 업로드한 모든 번들에 서명해야 합니다

문제상황이전에 게임잼에서 만들었던 띵동 게임을 출시 하기 위해 개발자계정에서 aab파일을 업로드를 했는데, "업로드한 모든 번들에 서명해야 합니다" 라는 오류가 발생하였다. Unity에서 분명히 keystore을 제대로 연결 했었던 것 같은데 오류가 생겨서 아래의 항목을 다시 체크해 보았다. 확인사항Player Settings → Publishing SettingsCustom Keystore ✅ 체크Keystore: …/jangy-upload.keystore 경로가 들어가 있음Keystore Password: 입력Key/alias: upload 같은 별칭이 선택됨Key Password: 입력Keystore Manager에서 업로드 키로 생성했는지Publishing Settings 오른쪽의 Keystor..

Unity 보상형 광고(AdMob) – 광고 시청 후 앱 종료/버튼 안 눌림 오류 해결 방법

문제 상황Unity에서 Google AdMob 보상형 광고를 붙였을 때, 광고는 잘 뜨지만 이런 문제가 생겼다.광고 시청 후 앱이 강제 종료됨UnityException: set_timeScale can only be called from the main thread 오류 발생광고 후 이어하기 버튼이 먹통이 됨처음에는 Gradle, constraints, App ID 설정 문제로 삽질을 했지만, 실행 후 튕기거나 UI가 막히는 진짜 원인은 따로 있었다. 원인광고 SDK의 콜백(ex: OnAdFullScreenContentClosed, RewardedAd.Show)은 Unity 메인 스레드가 아닌 다른 스레드에서 실행된다. Unity의 모든 API (Time.timeScale, GameManager.Con..

트러블슈팅-빌드시 안드로이드 유니티앱 바로꺼짐

문제M1 유니티 안드로이드 빌드 해보려고 애뮬레이터를 깔았는데 앱이 계속 실행 자체가 안되고 바로꺼짐. 구글링 하니까 광고 자체 오류라고 해서 다해봤는데 안됨 해결이거 콘솔창에 입력하고 애뮬레이터에서 실행해보니까 cd ~/Library/Android/sdk/platform-tools./adb logcat -s AndroidRuntime 이런 applicatoin ID가 잘못됐다고 한다 지금 Google Mobile Ads (AdMob) SDK가 초기화되면서 유효하지 않은 Application ID 때문에 앱이 죽었다AdMob은 앱 실행 시 AndroidManifest.xml 안에 meta-data 태그로 진짜 앱 ID가 등록돼 있어야 한다.Unity 기본 상태에서는 ca-app-pub-39402560..

[Unity] 포탈 근처에 [V] 프롬프트 UI 띄우기 + 입력 처리

Unity에서 플레이어가 포탈 근처에 다가가면 [V] 입력 안내 UI를 띄우고, V 키를 눌러 다음 맵으로 이동하거나 마을로 돌아가는 방식을 구현했다. 구현 목표포탈 범위에 들어갔을 때 [V] 들어가기, [V] 다음으로, [V] 마을로 등의 프롬프트 UI 표시V 키 입력 시 특정 기능 실행 (예: 씬 이동, 튜토리얼 시작 등)포탈 범위 밖으로 나가면 프롬프트 자동 숨김같은 구조로 다양한 포탈에 적용 가능하도록 설계 기본 구조Portal_1 (빈 GameObject)├─ Circle (포탈 그래픽)└─ PromptUI (World Space Canvas or Sprite) ├─ Icon_V (버튼 아이콘 이미지) └─ Text (프롬프트 텍스트: "들어가기" 등)📌 PromptUI는 비활성화된..

Unity에서 인벤토리와 세팅창 ESC / Tab 키 충돌 방지하기

오늘은 게임플레이 중 ESC와 Tab 입력이 서로 간섭하지 않도록 인벤토리와 세팅창을 깔끔하게 제어하는 방법을 정리했다. 문제 상황ESC → 세팅창 열기/닫기Tab → 인벤토리 열기/닫기하지만 ESC로 인벤토리를 닫으면 같은 프레임에서 세팅창이 열리거나, 세팅창이 켜져 있어도 Tab으로 인벤토리가 열리는 문제가 발생했다. 해결 방법핵심은 각 UI가 켜져 있는 상태에서는 다른 UI 입력을 무시하는 것이다이를 위해 각 매니저 스크립트에 IsOpen 속성을 만들어 상태를 확인하도록 했다. SettingsManager 수정public bool IsSettingsOpen{ get { return _settingsUI != null && _settingsUI.activeSelf; }}void Update(){..

여러 오브젝트가 각각 말풍선을 띄울 때 싱글톤 쓰면 안 되는 이유

구현목표유니티에서 여러 캐릭터(예: 새)가 각각 말풍선을 띄우는 연출을 만들 때 Singleton(싱글톤)을 사용해서 말풍선 매니저를 구성하려고 했다.하지만, 여러 오브젝트가 각각 말풍선을 제어해야 하는 경우 싱글톤은 오히려 쓰면 안된다. 싱글톤 사용문제public static PinchBirdSpeech Instance는 씬에 오직 하나의 객체만 존재한다는 전제에서만 안전하게 동작한다.하지만 새가 여러 마리 있다면?각 새마다 PinchBirdSpeech 스크립트를 붙이게 되고결국 마지막에 생성된 하나만 살아남고, 나머지 인스턴스는 덮어씌워져버린다.결과적으로 ShowDialogue()를 호출해도 항상 마지막 새만 반응하는 오류가 생기게 되었다. 해결방안멀티 캐릭터가 각각 말풍선을 제어하는 경우, Si..

728x90