전체 글 39

[유니티]Addressables: LoadAssetAsync와 InstantiateAsync의 차이와 사용 방법

Unity Addressables는 대규모 프로젝트에서 효율적으로 에셋(Assets)을 관리하고 로드할 수 있는 강력한 시스템입니다. 이 중에서도 "Addressables.LoadAssetAsync"와 "Addressables.InstantiateAsync"는 Addressables를 사용할 때 자주 쓰이는 기능인데요. 이 두 가지 방법의 차이점과 사용 방법, 그리고 각각 어떤 상황에 적합한지에 대해 알아보겠습니다.1. Addressables란?Unity의 Addressables 시스템은 에셋을 메모리에 동적으로 로드하거나 인스턴스화(Instantiate)할 수 있게 해주는 도구입니다. 특히, 에셋을 빌드 후에도 변경하거나, 네트워크를 통해 동적으로 로드할 수 있는 기능 덕분에 효율적인 메모리 관리와 유..

GameDev/[Unity] 2025.01.09

[유니티]List에 저장된 게임 오브젝트를 안전하고 최적화된 방법으로 파괴하는 방법

게임 개발 중, 동적으로 생성된 오브젝트를 파괴하고 메모리를 정리하는 작업은 매우 중요합니다. 특히 유니티(Unity)에서는 스크립트(Script)와 게임 오브젝트(GameObject)를 관리할 때, 잘못된 메모리 관리로 인해 성능 저하나 메모리 누수가 발생할 수 있습니다.이번 포스팅에서는 List에 저장된 스크립트와 관련된 게임 오브젝트를 최적화된 방법으로 **파괴(Destroy)**하고, 리스트를 정리하는 방법에 대해 알아보겠습니다.1. 문제 상황예를 들어, 우리가 게임 중 동적으로 생성한 오브젝트의 스크립트를 List에 저장했다고 가정해 봅시다. 게임이 진행되면서 특정 조건에서 이 오브젝트를 "파괴(Destroy)"하고 리스트를 정리(Clear)해야 할 필요가 있습니다.다음과 같은 작업이 필요합니다..

GameDev/[Unity] 2025.01.08

[유니티]Unity에서 DOTween 사용하기: 초보자를 위한 가이드

Unity에서 애니메이션을 구현할 때, DOTween은 간단하면서도 강력한 툴입니다. 이 글에서는 DOTween의 설치부터 기본 사용법, 그리고 실제 프로젝트에서 자주 사용되는 기능까지 차근차근 설명드리겠습니다.1. DOTween이란?DOTween은 Demigiant에서 개발한 Unity용 트위닝(tweening) 라이브러리입니다. 트위닝이란 오브젝트의 위치, 크기, 색상 등을 부드럽게 변화시키는 작업을 의미합니다.Unity에서 애니메이션을 구현할 때 코드 몇 줄로 간단하게 애니메이션 효과를 줄 수 있어 매우 유용합니다.2. DOTween 설치하기DOTween은 Unity Asset Store에서 무료로 다운로드할 수 있습니다.Unity Editor의 상단 메뉴에서 Window > Asset Store로..

GameDev/[Unity] 2024.12.30

[유니티]숫자를 문자열로 바꾸는 다양한 방법: ToString() 완벽 정리

Unity에서 숫자를 문자열로 변환하는 것은 UI에서 숫자를 표시하거나 디버깅할 때 자주 사용되는 중요한 기능입니다. 특히, ToString() 메서드를 활용하면 숫자를 원하는 포맷으로 변환할 수 있는데, 이때 ToString("포맷") 안에 들어가는 문자열이 바로 숫자의 출력 형식을 결정합니다.이 글에서는 ToString() 메서드에서 활용할 수 있는 포맷 문자열의 종류와 기능을 세부적으로 정리하고, 각각의 용도와 예제를 소개합니다.1. 숫자를 포맷하는 표준 형식 문자열 (Standard Numeric Format Strings)표준 형식 문자열은 기본 제공되는 형식으로, 간단한 포맷 지정을 통해 숫자를 다양한 스타일로 변환할 수 있습니다. 아래 표는 가장 많이 사용하는 숫자 형식 문자열과 그 기능을 ..

GameDev/[Unity] 2024.12.24

[유니티]유니티에서 타겟의 Vector3를 기준으로 오브젝트가 바라보게 하는 방법

Unity에서 오브젝트를 특정 타겟의 위치를 기준으로 바라보게 하는 경우는 게임 개발에서 매우 흔한 작업 중 하나입니다. 이 글에서는 Vector3 좌표만을 활용하여 오브젝트가 타겟을 바라보게 하는 방법을 다루며, 추가로 Y축 회전만 허용하는 경우도 함께 설명합니다.기본 개념: LookAt 함수Unity는 Transform 클래스에서 제공하는 LookAt 메서드를 사용해 간단히 타겟을 바라보게 만들 수 있습니다. 그러나 LookAt은 Transform을 필요로 하기 때문에, 타겟의 Vector3 좌표만 주어졌을 때는 별도의 처리가 필요합니다.1. 모든 축을 고려한 회전 구현타겟의 Vector3를 기준으로 오브젝트가 완전히 바라보게 하려면, Quaternion.LookRotation을 사용합니다. 이는 V..

GameDev/[Unity] 2024.12.18

유니티 Transform.LookAt 완벽 가이드: 부드러운 회전과 축 제한 팁

Unity에서 Transform.LookAt은 특정 타겟을 향해 오브젝트를 회전시키는 강력한 기능입니다. 하지만 기본적으로 모든 축을 기준으로 회전하기 때문에, 때로는 대각선 방향으로 회전하는 등 원치 않는 결과를 초래할 수 있습니다. 이 글에서는 LookAt의 기본 사용법부터 특정 축 제한, 부드러운 회전, 그리고 응용 사례까지 다양한 방법을 소개합니다.1. Unity LookAt 기본 사용법Transform.LookAt의 가장 간단한 형태는 타겟 오브젝트를 바라보는 것입니다. 예를 들어, 플레이어가 적을 바라보게 하려면 다음과 같이 작성합니다:public Transform target;void Update(){ transform.LookAt(target);}하지만 이렇게 하면 모든 축(X, Y,..

GameDev/[Unity] 2024.12.17

[유니티]Resources폴더 Asset Bundle?

Unity에서 Resources 폴더를 Asset Bundle로 지정하는 것은 가능하지만, 추천되지 않습니다. 이유와 함께 대안적인 방법을 아래에 설명하겠습니다.1. Resources 폴더의 특성특별한 역할: Resources 폴더에 포함된 모든 리소스는 Unity에서 앱 빌드 시 자동으로 포함되며, 실행 중에 Resources.Load API를 통해 접근할 수 있습니다.문제점:Resources 폴더에 있는 리소스는 항상 빌드 파일에 포함됩니다.→ Asset Bundle로 따로 지정해도 빌드 크기를 줄일 수 없습니다.Resources 폴더의 리소스는 동적 로드 방식이 아니라 앱 설치 시 모두 로드됩니다.2. Resources 폴더를 Asset Bundle로 지정하면?Unity는 Resources 폴더를 ..

GameDev/[Unity] 2024.12.13

[유니티]게임 개발, 플랫폼 스위칭은 언제 해야 할까?

유니티(Unity)를 사용해 게임 개발을 하다 보면 여러 플랫폼(PC, 모바일, 콘솔 등)을 고려해야 하는 경우가 많습니다. 이때 중요한 고민 중 하나가 바로 "플랫폼 스위칭을 언제 해야 할까?"입니다. 게임 개발 초기부터 플랫폼을 설정하고 시작할지,아니면 다 개발한 후에 플랫폼 전환 작업을 할지 결정하는 것은 프로젝트의 성공과 효율성에 큰 영향을 미칠 수 있습니다.이 글에서는 두 가지 접근 방식의 장단점과, 어떤 상황에서 어떤 선택을 해야 할지 정리해보았습니다.1. 플랫폼 스위칭을 미리 설정하고 시작하는 경우장점1) 플랫폼별 요구사항을 초반부터 고려플랫폼마다 해상도, 입력 방식, 성능 요구사항 등이 다릅니다.모바일 게임은 터치 기반으로 동작하고, PC 게임은 키보드와 마우스를 사용하죠.초기부터 플랫폼 ..

GameDev/[Unity] 2024.12.13

[유니티]AndroidManifest.xml 파일 접근 및 수정

Unity로 Android 애플리케이션을 개발하다 보면 AndroidManifest.xml 파일을 수정해야 할 때가 있습니다. AndroidManifest.xml은 애플리케이션의 권한, 구성요소, 메타데이터 등을 정의하는 중요한 파일입니다. 이번 글에서는 Unity 환경에서 AndroidManifest.xml에 접근하고 수정하는 다양한 방법을 간단히 정리합니다.1. Unity 내에서 AndroidManifest.xml 수정하기Unity는 AndroidManifest.xml을 자동 생성합니다. 이를 사용자 정의하려면 Unity 프로젝트의 특정 디렉토리에 파일을 추가해 수정할 수 있습니다.수정 방법:경로 설정: Assets/Plugins/Android 디렉토리에 사용자 정의 AndroidManifest.xm..

GameDev/[Unity] 2024.12.12

[GooglePlayConsole]com.google.android.play:app-update:2.0.0 Maven 종속 항목을 Android 14 호환 버전으로 업데이트하세요.

Android 14(targetSdkVersion 34)를 타겟팅하는 앱을 준비하려면, com.google.android.play:app-update 라이브러리를 최신 버전으로 업데이트해야 합니다. 현재 사용 중인 2.0.0 버전은 Android 14의 새로운 제한사항과 호환되지 않기 때문에 비정상 종료 등의 문제가 발생할 수 있습니다.1. 최신 버전 확인 Google은 최신 라이브러리 버전을 제공하여 Android 14와 호환되도록 업데이트합니다. 이를 위해 최신 Maven 라이브러리 버전을 확인해야 합니다. 일반적으로 Google Play Core 릴리스 노트를 참조하거나 Gradle에서 최신 버전을 확인할 수 있습니다.아래는 최신 버전을 설정하는 방법입니다.2. Gradle 파일 업데이트build...

GameDev/[etc] 2024.12.10