전체 글 50

[Unity] UGS - Cloud Save

Cloud Save란?Cloud Save는 플레이어의 게임 진행 상태, 게임 설정, 인벤토리 등의 작은 데이터를 클라우드에 저장하고 불러올 수 있는 기능입니다. 이를 통해 플레이어가 여러 디바이스에서 동일한 게임 데이터를 사용할 수 있어 데이터를 안전하게 보존할 수 있습니다. 주요 기능크로스 디바이스 동기화: 플레이어는 다른 기기에서도 같은 데이터로 게임을 이어서 할 수 있습니다.데이터 보안: 로컬 저장소에 의존하지 않고 클라우드에 데이터를 백업함으로써 데이터 손실을 방지합니다. Cloud Save 대시보드의 주요 탭들1. 인덱스 설정 (Index Configuration)설명: Cloud Save에서 인덱스는 데이터를 빠르게 검색하고 접근할 수 있도록 만들어줍니다. 인덱스를 설정하면 대량의 데이터 중에..

[Unity] UGS - Remote Config

Remote Config란?Remote Config는 실시간으로 게임 내 설정을 변경할 수 있는 기능을 제공합니다. 이를 통해 코드를 다시 빌드하거나 앱 스토어에 업데이트하지 않고도 게임 내의 다양한 설정값을 쉽게 수정할 수 있습니다. 예를 들어, 게임 속 아이템 가격, 레벨 난이도, 광고 빈도 등을 실시간으로 변경할 수 있습니다. 왜 Remote Config를 사용해야 할까?게임 개발 중 또는 출시 후, 플레이어 피드백이나 데이터 분석에 따라 게임을 즉각적으로 수정하고 싶은 경우가 많습니다. Remote Config는 이럴때 유용하게 쓰입니다. 개발자들이 앱을 다시 빌드하거나 배포하는 데 시간을 낭비하지 않고, 실시간으로 변경 사항을 적용할 수 있는 것이 큰 장점입니다. 설정 방법1. Unity 프로젝..

[Unity] UGS - Player Authentication

사용자 인증이란?사용자 인증은 애플리케이션이나 게임에서 사용자의 신원을 확인하고, 특정 기능이나 서비스를 이용할 수 있도록 하는 과정입니다. Unity UGS에서는 사용자가 안전하게 로그인하고, 세션을 관리할 수 있도록 돕는 다양한 인증 방식을 제공합니다. 익명 로그인, 이메일 및 비밀번호 인증 등이 포함됩니다. Unity 서비스 활성화하기Unity Dashboard에 로그인한 후, 원하는 프로젝트를 선택합니다.Services 메뉴에서 Player Authentication을 활성화합니다.  패키지 설치하기Window 메뉴에서 Package Manager를 선택합니다.Add package from git URL을 클릭한 후, com.unity.services.authentication을 입력하여 설치합니..

[Unity] Resources.UnloadUnusedAssets() : 메모리 관리

Resources.UnloadUnusedAssets()란?Resources.UnloadUnusedAssets()는 사용되지 않는 자원을 메모리에서 해제하는 기능입니다. 동적으로 텍스처, 오디오 파일 또는 모델을 로드할 때 Unity는 해당 자원을 메모리에 유지합니다. 이 함수는 사용되지 않는 자원을 수동으로 해제하여 메모리를 확보할 수 있게 해줍니다. 작동 방식미사용 자원 확인: Resources.UnloadUnusedAssets()를 사용하면 Unity는 현재 씬이나 코드에서 사용되지 않는 모든 자원을 찾아 메모리에서 해제합니다.가비지 컬렉션과의 차이: Unity의 가비지 컬렉션은 주로 관리되는 객체(C#)에 적용됩니다. 이 함수는 텍스처나 메쉬와 같은 비관리 자원을 정리하는 데 도움을 줍니다. 사용 ..

Unity/정보 2024.09.28

[Unity] 비등방성 필터링(Anisotropic filtering)과 Mipmap

비등방성 필터링이란?비등방성 필터링(Anisotropic Filtering, AF)은 3D 그래픽스에서 텍스처의 품질을 향상시키기 위한 기술입니다. 이 기술은 관찰자의 시점에 따라 텍스처의 세부 사항이 어떻게 보이는지를 개선하여, 특히 경사진 표면에서 더 선명한 결과를 제공합니다. 비등방성 필터링은 다방향으로의 샘플링을 통해 텍스처의 시각적 품질을 높입니다.Mipmap이란?Mipmap은 텍스처의 다양한 크기를 미리 계산하여 저장하는 기술입니다. 게임에서는 카메라와의 거리에 따라 적절한 해상도의 텍스처를 사용하여 성능을 향상시키고, 텍스처의 품질을 유지하는 데 도움을 줍니다.  예를 들어 가까운 객체에는 고해상도 텍스처를, 멀리 있는 객체에는 저해상도 텍스처를 사용하는 방식입니다. 이렇게 하면 성능을 향상..

Unity/정보 2024.09.22

[Unity] 안티앨리어싱(Anti-Aliasing)

안티앨리어싱(AA) 소개안티앨리어싱(Anti-Aliasing, AA)은 게임 그래픽 가장자리에서 발생하는 계단 현상을 완화하는 방법입니다. 낮은 해상도에서 픽셀로 표현된 직선이나 곡선이 매끄럽지 않게 보이는데, 안티앨리어싱은 픽셀의 색상과 주위 색상을 혼합하여 더 부드럽고 자연스러운 이미지를 보여줍니다. 이를 통해 게임의 그래픽 퀄리티를 향상시킬 수 있습니다.안티앨리어싱의 원리안티앨리어싱은 객체의 가장자리에서 색상 값을 혼합하여 픽셀의 경계가 부드럽게 보이도록 하는 방식으로 동작합니다. 특히, 픽셀의 색상을 주변 픽셀과 섞어 계단 현상을 줄이거나, 화면 전체에서 샘플링을 더 많이 하는 방식으로 처리하여 시각적 부드러움을 제공합니다.안티앨리어싱 종류와 비교1) MSAA (Multi-Sample Anti-A..

Unity/정보 2024.09.21

[Unity] 유니티의 가비지 콜렉터 (G.C)

가비지 콜렉터란?가비지 콜렉터(GC)는 프로그램에서 더 이상 필요하지 않은 메모리(가비지)를 자동으로 회수하여 메모리 누수를 방지하고 메모리를 관리하는 시스템입니다. 유니티는 C#을 사용하여 스크립트를 작동하며 .NET의 가비지 콜렉터를 기반으로 메모리를 관리합니다.   작동 방식 가비지 콜렉션은 주로 C#에서 관리되는 힙 메모리에서 이루어집니다. Unity는 생성된 객체가 더 이상 사용되지 않을 때 자동으로 메모리에서 해제하는데, 메모리에서 해제되는 시점을 완벽하게 제어하기는 어렵습니다. 그리고 GC는 메모리를 세대별로 나누어 오래된 객체와 최근에 생성된 객체를 구분해서 관리합니다.0세대 (Gen 0): 가장 최근에 생성된 객체들이 위치하며, 수명이 짧은 객체가 많습니다. 이 세대는 빠르게 메모리에서 ..

Unity/정보 2024.09.16

[Unity] Awake()와 Start()의 차이점

Unity에서 Awake()와 Start() 메서드는 게임 오브젝트와 컴포넌트의 초기화 과정에서 중요한 역할을 합니다. 이 두 메서드는 각각 고유한 시점에 호출되며, 각기 다른 용도로 사용됩니다. Awake()Awake()는 Unity의 스크립트 생명주기 중 가장 먼저 호출되는 메서드입니다. 게임 오브젝트가 씬에 로드될 때, 모든 컴포넌트가 초기화되기 전에 호출됩니다. 특징:호출 시점: 모든 컴포넌트가 초기화되기 전에 호출됩니다. 따라서 Awake()는 스크립트나 컴포넌트의 설정과 관련된 코드가 독립적으로 실행되도록 보장합니다.의존성 관리: Awake()에서는 다른 컴포넌트의 상태에 의존하지 않고, 필요한 초기화 작업을 수행합니다. 예를 들어, 게임 오브젝트의 상태나 설정을 기본값으로 초기화할 때 유용합..

Unity/정보 2024.09.16

[Unity] 프리팹(Prefab) 기초

프리팹(Prefab)이란?프리팹은 Unity에서 재사용 가능한 객체 템플릿을 의미합니다. 게임에서 반복적으로 생성되거나 배치되는 오브젝트를 하나하나 수작업으로 배치하는 것은 비효율적이기 때문에, 프리팹을 활용하여 이를 자동화할 수 있습니다. 프리팹은 하나의 원본 객체를 미리 저장해 두고, 그 객체의 인스턴스를 게임 내에서 동적으로 생성할 수 있도록 해줍니다. 프리팹의 특징재사용 가능: 프리팹은 게임 내 원하는 위치에 동일한 오브젝트를 빠르게 생성할 수 있습니다. 예를 들어 적 캐릭터, 아이템, 총알 등을 프리팹으로 만들면 여러 곳에서 동일한 설정을 공유하면서 효율적으로 사용할 수 있습니다.동적 생성: 코드에서 Instantiate() 함수를 사용하여 프리팹을 동적으로 생성할 수 있습니다. 예를 들어, 플..

Unity/정보 2024.09.16

[Unity] GPU Instancing

GPU Instancing이란?GPU Instancing은 동일한 메쉬와 머티리얼을 사용하는 여러 오브젝트를 한 번의 드로우 콜로 렌더링하는 기술입니다. 일반적으로 다수의 오브젝트를 렌더링할 때, 각각의 오브젝트마다 GPU로 데이터를 보내는 과정(드로우 콜)이 필요합니다. 하지만 GPU Instancing을 사용하면 이 드로우 콜의 횟수를 크게 줄일 수 있습니다. GPU Instancing의 원리GPU Instancing은 동일한 메쉬와 머티리얼을 사용하는 여러 오브젝트를 묶어서 한 번에 GPU로 전송합니다.각 오브젝트의 위치, 회전, 크기와 같은 개별적인 변환 정보만을 GPU로 넘겨주고, 나머지 메쉬 데이터는 공유됩니다.이를 통해 CPU에서 처리해야 할 작업이 줄어들어 성능이 향상됩니다. GPU Ins..

Unity/정보 2024.09.13