Unity 26

UI - Scroll View를 사용하여 UI 세로로 나열하기

가끔 Scroll View를 사용하여 리스트 UI를 구현할 때 세로로 UI가 일정한 간격으로 나열되게 하고 싶을 때가 있다.그러기 위해선 간단한 세팅이 필요하다. 1. Scroll View 구성Scroll View > Viewport > Content 구조Content 설정:Vertical Layout Group 추가 (Spacing 10)Content Size Fitter: Vertical Fit → Preferred SizePivot: (0.5, 1), Anchor Min/Max: (0,1)/(1,1)✅ 위에서 아래로 자연스럽게 추가되는 구조 완성 위 설정을 하게 되면 Content안에 UI를 추가 했을 때 일정한 간격으로 생성(나열)되게 된다. 다음엔 동적으로 Content안에 UI를 생성해보도록..

Unity/UI 2025.08.05

Unity - async 함수에 관하여

🧠 먼저 알아야 할 핵심 개념 3가지용어쉽게 말하면예시async"기다릴 수 있는 함수야!" 라고 표시하는 것async Task MyFunc() { ... }await"이 작업이 끝날 때까지 기다려줘!"await DownloadImage()Task"나중에 결과가 나올 거야!" 라는 약속Task은 "나중에 string 줄게" ✅ 1. bool 함수그냥 즉시 true/false를 반환하는 함수기다릴 필요 없음 (동기 함수)🧩 예시:bool IsEven(int number){ return number % 2 == 0;}2를 넣으면 바로 true, 3을 넣으면 falseawait 못 씀✅ 2. async Task 함수"결과가 없는 비동기 작업" 할 때 사용해예: 이미지 다운로드, DB 저장🧩 예시:as..

Unity 2025.08.04

GitHub Desktop 대용량 파일 푸시하기

GitHub Desktop을 이용하여 협업을 진행 할 때 파일의 크기가100mb가 넘어 푸시할 때 에러가 나는 경우가 있다ㅜㅜFiles too large If you commit these files, you will no longer be able to push this repository to GitHub.com.🧠 원인 분석GitHub은 100MB 이상의 단일 파일은 Git 저장소로 푸시하는 것을 허용하지 않음.에러 메세지 -> 너의 파일이 100mb가 넘는다. 이 파일을 커밋하면 이 리포지토리를 GitHub에 푸시할 수 없다!이 경우엔 100mb가 넘는 파일을 그냥 제거하고 푸시하면해결되는 문제이지만 해당 파일이 없으면 프로젝트 진행에 문제가 생겨 꼭 푸시 해야 할 때가 있다.(나의 경우 fi..

Unity 2025.08.04

UI - 동그란 로딩 UI 구현하기

이미지처럼 동그란 로딩 UI를 만들고 싶다면 Image 컴포넌트의 Fill Method: Radial 360을 이용해서fillAmount 값을 0 → 1로 천천히 증가시키면 된다! ✅ 1. UI 준비 방법Image 컴포넌트를 추가한 오브젝트를 만들고,Image Type을 FilledFill Method를 Radial 360Fill Origin을 원하는 방향 (예: Bottom)Clockwise 체크 (시계방향) ✅ 2. FillAmount를 코루틴으로 애니메이션 주기using UnityEngine;using UnityEngine.UI;using System.Collections;public class CircularLoader : MonoBehaviour{ public Image fillImage..

Unity/UI 2025.08.03

Unity - 시간 포맷 개념 정리(UI)

✅ ⏱ 시간 포맷 관련 수학 개념 정리📘 1. 초 → 분:초 변환 공식전체 초에서 분(min) 은 전체초 / 60남은 초(sec) 는 전체초 % 60수학식:minutes = totalSeconds ÷ 60 seconds = totalSeconds % 60예:totalSeconds = 125minutes = 125 ÷ 60 = 2seconds = 125 % 60 = 5=> 02:05📘 2. C# 예제 코드int totalSeconds = 125;int minutes = totalSeconds / 60; // 2int seconds = totalSeconds % 60; // 5string formattedTime = string.Format("{0:00}:{1:00}", minutes, secon..

Unity/UI 2025.07.02

모바일 앱/게임 제작 시 필요한 Unity 권한 선언 종류

Unity에서 모바일 앱/게임 제작 시 네크워크, 카메라, 저장소 접근 등특정 작업을 하기 위해선 Manifest에 선언하는 작업을 해야한다. ✅ 1. INTERNET📌 Manifest 선언 🧠 설명Firebase, REST API, UnityWebRequest 등 모든 네트워크 통신에 필수 권한이야.권한 요청 UI 없이 자동 적용됨. 💻 Unity 코드 예시using UnityEngine.Networking;IEnumerator SendData(){ UnityWebRequest request = UnityWebRequest.Get("https://api.example.com/data"); yield return request.SendWebRequest(); if (request.r..

Unity 2025.05.28

Unity(6.버전) - 안드로이드 빌드 후 앱 꺼짐 에러

이번에 유니티 6.0으로 앱을 개발하던중 firebase 패키지를 임포트 할 일이 생겼다. 하지만 임포트 후 핸드폰에 빌드했을 때 앱이 실행 자체를 못하고 계속 튕기는 현상이 있었다.정답은 아래 이미지였다. 위 세팅에서 기본값이 GameActivity로 되어있을 것이다. Activity로 체크해주면 튕기지 않고 잘 된다... 이유는 아래 설명을 참고하시길.. 사실 나도 잘 모르겠다 Unity 6.0 버전이라 이런 에러가 나는 것 같기도 하다. ● 왜 Activity(UnityPlayerActivity)로 돌리면 바로 해결됐을까?구분GameActivity (문제발생)Activity (문제해결)Unity 진입점GameActivity (신규)UnityPlayerActivity (기존)Firebase가 제공하는..

Unity/에러해결 2025.05.03

Unity 로딩씬 구현하기

씬로딩 미리보기 로딩은 앱/게임에서 흔히 볼 수 있는데 씬로딩은 단순히 로딩되는 걸 보여주는 것보단 다른 중요한 이유가 존재한다.이 기능의 씬 로딩은 비동기(Async) 씬 로딩이라 부르며 같이 한번 알아보도록 하자. ✅ 비동기(Async) 씬 로딩이 필요한 이유씬이 로딩되는 동안 앱이 멈추지 않고, 부드럽게 움직이게 하기 위해서-> 더욱 이해하기 쉽게 얘기하자면 메모리가 많을 경우 씬이 로딩 되는 속도가 늦어질 수도 있다. 씬 로딩이 늦어질 경우 사용자는 화면이 멈췄다고 착각 할 수 있기 때문에 비동기 씬 로딩을 사용하는 것이다. 또한 게임의 경우 이 로딩 시간동안 자연스럽게 게임 속 Tip을 제공할 수도 있다. 1. 로딩바 세팅하기1. 먼저 로딩바의 프레임과 그 안에 들어갈 로딩바 Image 2개를..

Unity 2025.04.14

Unity 자동슬라이드 Text 구현하기

오늘 구현할 자동 슬라이드 Text 미리보기 오늘 구현해볼 것은 Text가 자동으로 슬라이딩 되는 기능이다.새로 추가된 업데이트나 새로운 소식을 사용자에게 제공해야 할 때 쓰면 유용 할 것 같다. 1. 하이어라키 세팅하기먼저 Canvas 안에 새로운 Text 2개를 생성한다. 생성한 text는 동일한 Transform에 배치한다. TodayNews오브젝트는 News Text 부모로 있는 뒤에 있는 배경이미지이다. 2. 코드 작성 및 설명※ 변수 선언 [Header("Text Objects")] public RectTransform textA; //News1 public RectTransform textB; //News2 [Header("Animation Settings")]..

Unity 2025.04.14