GameDev/[Unity] 31

[유니티]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

[유니티]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에서 GameObject의 활성화 상태를 확인하는 방법: activeSelf와 activeInHierarchy의 차이

Unity에서 GameObject의 활성화 상태를 확인할 때 사용하는 두 가지 중요한 프로퍼티가 있습니다:activeSelfactiveInHierarchy 이 둘은 비슷해 보이지만, 실제로는 서로 다른 정보를 제공하며, 상황에 따라 반환 값이 다를 수 있습니다. 이번 글에서는 이 두 프로퍼티의 차이점과 활용 방법을 자세히 알아보겠습니다.1. gameObject.activeSelf정의:activeSelf는 GameObject 자신의 활성화 상태를 나타냅니다.이 프로퍼티는 GameObject의 자체적인 활성화 여부만 반환하며, 부모 오브젝트나 계층 구조(hierarchy)의 영향을 받지 않습니다.특징:자체 상태를 확인한다.부모 GameObject의 상태에 영향받지 않음.활성화된 상태에서 부모에 의해 비활성화..

GameDev/[Unity] 2024.11.26

[유니티]Addressables의 기본적인 사용법

1. Addressables 패키지 설치Unity의 Package Manager를 열고(Window > Package Manager)."Addressables"를 검색하여 설치합니다.설치 후, 상단 메뉴에서 Window > Asset Management > Addressables > Groups를 선택하면 Addressables Groups 창이 열립니다.2. Addressables 시스템 초기화Addressables Groups 생성: 프로젝트에서 Addressables를 처음 설정할 경우, Unity가 자동으로 기본 그룹과 설정을 생성합니다.Addressables > Groups 창에서 그룹과 설정을 관리할 수 있습니다.Addressables를 사용하려는 애셋을 Addressables Groups에 ..

GameDev/[Unity] 2024.11.25

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

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

GameDev/[Unity] 2024.11.25

[유니티]Unity에서 SetActive와 활성화 상태 이해하기: activeSelf vs activeInHierarchy

Unity에서 GameObject를 활성화하거나 비활성화할 때 자주 사용하는 함수인 **SetActive**는 부모-자식 관계에 따라 작동 방식이 달라질 수 있습니다. 특히, **activeSelf**와 **activeInHierarchy**는 GameObject의 활성화 상태를 나타내는 데 있어 각각 다른 역할을 합니다. 이 글에서는 이 두 속성의 차이와 사용 방법을 알아봅니다.1. SetActive와 부모-자식 관계SetActive(bool state) 함수는 GameObject의 활성화 상태를 설정합니다:true: GameObject를 활성화.false: GameObject를 비활성화.하지만, GameObject가 활성화되더라도 부모 오브젝트가 비활성화된 상태라면 자식 오브젝트는 실제로 활성화되지 ..

GameDev/[Unity] 2024.11.22

[유니티]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

[유니티]Unity에서 Rigidbody 없이 충돌체 감지하는 방법

Unity에서 객체 간 충돌을 감지할 때 일반적으로 Rigidbody를 사용하지만, 상황에 따라 이를 사용하지 않고도 충돌체를 감지해야 할 때가 있습니다. 이번 글에서는 Rigidbody 없이 충돌체를 감지하는 다양한 방법을 단계별로 정리해 보겠습니다.1. Physics.Overlap 메서드로 충돌체 감지하기 Unity의 물리 메서드를 활용하면 특정 영역 안에 있는 충돌체를 감지할 수 있습니다. 이 방법은 Rigidbody 없이 충돌체를 탐지할 때 매우 효과적입니다.예제: 구 형태 영역 탐지 (Physics.OverlapSphere) 아래 코드는 지정한 반지름 내의 모든 충돌체를 탐지합니다.void DetectColliders(){ float radius = 5f; Vector3 position ..

GameDev/[Unity] 2024.11.20