유니티 15

[유니티]Target API Level과 Target SDK 완벽 정리

결론부터 말하자면 Target API Level과 Target SDK는 거의 같은 의미를 지니며, 둘 다 Android 앱 개발에서 중요한 개념입니다. 하지만 이를 이해하려면 Android 앱의 SDK와 API에 대한 기본 개념과 관련 설정의 역할을 명확히 아는 것이 필요합니다. 아래에서 자세히 설명하겠습니다.1. Target API Level과 Target SDK의 정의SDK (Software Development Kit)Android 앱을 개발하거나 실행하기 위해 필요한 도구와 라이브러리 모음입니다.특정 Android 버전(예: Android 14)을 지원하는 API(함수와 명령어 집합)를 포함합니다.API LevelAndroid의 버전을 숫자로 나타내는 체계입니다. 예를 들어:Android 14 →..

GameDev/[Unity] 2024.12.09

[유니티]에러 해결: Coroutine couldn't be started because the game object is inactive

Unity를 사용하면서 코루틴(Coroutine)을 실행하려고 할 때, 다음과 같은 에러 메시지를 본 적이 있나요?"Coroutine couldn't be started because the game object 'Unit_Prefab' is inactive!" 이 에러는 흔히 발생하는 문제 중 하나로, 코루틴을 실행하려는 GameObject가 비활성화된 상태일 때 나타납니다. 이번 포스팅에서는 이 에러가 발생하는 이유와 이를 해결하는 방법을 자세히 설명하겠습니다.에러 발생 원인Unity에서 코루틴은 MonoBehaviour 스크립트에서 실행되며, 코루틴이 호출되는 GameObject가 활성화된 상태여야 합니다.즉, 다음과 같은 상황에서 에러가 발생할 수 있습니다:gameObject.SetActive(f..

[유니티]Mathf 함수: 개념과 주요 함수, 그리고 예제

Unity에서 제공하는 Mathf 클래스는 2D 및 3D 게임 개발에서 자주 사용되는 수학적 연산을 쉽게 처리할 수 있도록 설계된 수학 유틸리티 클래스입니다. Mathf 클래스는 삼각함수, 지수 함수, 반올림 및 기타 수학 연산에 대한 메서드를 제공합니다. 특히, 성능 최적화와 간편한 사용이 장점으로 게임 개발에서 필수적인 도구입니다.1. Mathf의 개념 Mathf 클래스는 UnityEngine 네임스페이스에 포함되어 있으며, 주로 다음과 같은 작업에서 사용됩니다:게임 오브젝트의 움직임 계산 (예: 회전, 위치 보간 등)효율적인 수학 연산 (예: 거리 계산, 랜덤 값 생성)수학적 값 처리 (예: 절대값, 반올림, 클램핑 등)Mathf는 대부분의 함수가 **정적(static)**으로 선언되어 있어 인스턴..

GameDev/[Unity] 2024.12.05

[유니티]싱글톤(Singleton) 패턴이란?

안녕하세요? 이번 글에서는 게임 개발에서 자주 사용하는 싱글톤(Singleton) 패턴에 대해 알아보려고 합니다. 싱글톤은 특히 Unity에서 전역적으로 관리해야 하는 객체를 생성할 때 매우 유용한 디자인 패턴인데요, 초보 개발자분들께도 쉽게 이해할 수 있도록 개념과 예제를 소개해드릴게요. 💡싱글톤(Singleton) 패턴이란? 🧐싱글톤 패턴은 클래스의 인스턴스를 하나만 생성하고, 어디서든 이 인스턴스에 접근할 수 있도록 보장하는 디자인 패턴입니다.왜 싱글톤을 사용할까요?전역 접근 가능: 게임의 중요한 매니저(예: GameManager, AudioManager 등)를 어디서나 접근할 수 있게 해줍니다.메모리 관리 용이: 동일한 객체를 여러 번 생성하는 것을 방지하여 자원을 절약합니다.코드 간결화: 하..

GameDev/[Unity] 2024.12.04

[유니티]코루틴(Coroutine) 개념과 사용 방법

✨ 코루틴이란? 유니티에서 **코루틴(Coroutine)**은 시간 지연이나 비동기 작업을 쉽게 구현하기 위한 기능입니다.게임 개발에서는 대기나 점진적인 작업을 처리해야 할 때가 많습니다. 예를 들어:캐릭터가 일정 시간마다 점프할 때 ⏳적이 몇 초 간격으로 스폰될 때 🐉서서히 화면이 밝아지는 효과를 줄 때 🌅이 모든 걸 코루틴으로 간단히 구현할 수 있어요!🛠️ 코루틴의 사용법코루틴은 IEnumerator를 반환하는 함수로 작성되며,StartCoroutine 메서드를 통해 호출됩니다.🧩 기본 형태:using System.Collections;using UnityEngine;public class CoroutineExample : MonoBehaviour{ void Start() { ..

GameDev/[Unity] 2024.12.03

유니티(Unity)와 언리얼(Unreal) 엔진 비교: 차이점과 각각의 강점

게임 개발을 시작하려 할 때 가장 먼저 부딪히는 질문 중 하나는 바로 “유니티와 언리얼 중 어떤 엔진을 선택해야 할까?” 입니다. 두 엔진 모두 강력하고 널리 사용되는 도구이지만, 각기 다른 강점과 특징을 가지고 있어 프로젝트의 특성과 개인의 목표에 따라 선택이 달라질 수 있습니다. 이 글에서는 두 엔진의 차이점, 이점, 그리고 어떤 상황에서 각각을 학습해야 하는지에 대해 정리해 보겠습니다.1. 유니티(Unity)의 특징과 강점1-1. 쉽고 직관적인 사용자 인터페이스유니티는 사용자 친화적인 UI를 제공하여 초보자들도 쉽게 다가갈 수 있습니다. 특히 스크립팅 언어로 C#을 사용하며, 비교적 배우기 쉽고 간결한 코드를 작성할 수 있어 초보 개발자에게 적합합니다.1-2. 다양한 플랫폼 지원유니티는 PC, 모바..

GameDev/[etc] 2024.11.30

[유니티]Asset Bundles와 Addressables의 차이점 정리

1. Asset Bundles와 Addressables의 기본 개념Asset BundlesUnity의 전통적인 리소스 관리 방식입니다.특정 애셋(프리팹, 텍스처 등)을 번들로 묶어 빌드한 뒤 필요할 때 로드합니다.파일 경로 또는 키(key)를 사용해 직접 관리하고 로드합니다.AddressablesAsset Bundles의 상위 개념으로, Unity에서 번들 관리의 복잡성을 줄이기 위해 개발된 시스템입니다.애셋에 "주소(Address)"를 부여해 쉽게 참조하고 로드할 수 있습니다.빌드와 의존성 관리, 업데이트 등이 자동화되어 있습니다.2. Asset Bundles와 Addressables의 주요 차이점사용 편의성번들 빌드와 로드 로직을 직접 구현해야 함.자동화된 빌드와 로드 로직 제공.참조 방식경로나 키(..

GameDev/[Unity] 2024.11.25

[유니티]Unity 개발과 코드 작성 시 알아두면 좋은 단축키와 팁!

Unity로 게임을 개발하거나 코드를 작성하다 보면 효율성이 중요한 순간이 많습니다. 작업 속도를 높이고, 반복 작업을 줄이며, 생산성을 극대화할 수 있는 Unity와 Visual Studio의 유용한 단축키와 개발 팁을 정리 해보았습니다.1. Unity Editor 단축키 모음Unity Editor를 사용할 때 자주 쓰이는 단축키입니다. 작업 효율을 높이고 반복 작업을 줄이는 데 유용합니다.기본 단축키Ctrl + S (Windows) / Cmd + S (Mac): 현재 씬 저장.Ctrl + Z / Cmd + Z: 실행 취소 (Undo).Ctrl + Y / Cmd + Shift + Z: 재실행 (Redo).F: 선택한 오브젝트를 씬 뷰에서 포커스.Ctrl + D / Cmd + D: 선택한 오브젝트 복제...

GameDev/[Unity] 2024.11.21

[유니티]자식 오브젝트 접근 방법

유니티에서 부모-자식 관계를 이용하면 오브젝트 계층 구조를 보다 효율적으로 관리할 수 있습니다. 이 글에서는 자식 오브젝트에 접근하는 다양한 방법과 활용 예시를 알아보겠습니다. 1. 기본 접근 방법Transform의 GetChild() 메서드 사용부모 오브젝트의 Transform을 통해 자식 오브젝트에 접근할 수 있습니다.Transform _child = transform.GetChild(0);Debug.Log(_child.name);장점: 간단하고 특정 자식에 빠르게 접근 가능.단점: 인덱스를 이용하므로 구조가 변경되면 코드 수정 필요.2. Find() 메서드로 자식 이름으로 찾기Transform.Find()를 사용하면 자식 오브젝트 이름을 기준으로 접근할 수 있습니다.Transform _child =..

GameDev/[Unity] 2024.11.19

[유니티]Unity 최적화 팁: Vector3.Distance와 sqrMagnitude의 차이와 활용법

Unity에서 두 점 사이의 거리를 계산할 때 주로 사용되는 함수는 **Vector3.Distance**와 **sqrMagnitude**입니다. 이 둘은 같은 목적(거리 계산)을 가지고 있지만, 사용 방식과 성능에 차이가 있습니다. 이 글에서는 이 두 방법을 비교하고, 상황에 맞는 최적의 선택법을 알아보겠습니다.1. 두 함수의 기본 원리(1) Vector3.DistanceVector3.Distance는 유클리드 거리(Euclidean Distance) 공식을 사용해 두 점 사이의 정확한 거리를 반환합니다.​Unity 코드:float _distance = Vector3.Distance(pointA, pointB);이 함수는 내부적으로 제곱근(√) 연산을 포함하고 있어, 정확한 거리 값을 제공하지만 연산량이..

GameDev/[Unity] 2024.11.18