Unity 스프라이트 패커 사용 안내

개요

Unity에서 2D 게임을 개발할 때, 다양한 스프라이트를 효과적으로 관리하기 위해 스프라이트 아틀라스를 사용하는 것이 좋습니다. 스프라이트 패커(Spr Sprite Packer)는 여러 개의 스프라이트 텍스처를 하나의 아틀라스로 패킹하여 메모리 사용을 최적화하고 성능을 향상시킵니다.

스프라이트 패커의 필요성

  • 각 캐릭터를 위해 별도의 텍스처 파일을 사용하면 비디오 메모리가 낭비됩니다.
  • 여러 스프라이트를 아틀라스라는 단일 텍스처로 통합함으로써 성능 최적화가 가능해집니다.
  • 스프라이트 패커는 스프라이트 텍스처를 자동으로 아틀라스에 패킹하는 기능을 제공합니다.

스프라이트 패커 사용법

스프라이트 패커 활성화

  1. 에디터에서 Edit > Project Settings로 이동합니다.
  2. Editor 카테고리에서 패킹 모드를 설정합니다:
  3. Disabled: 비활성화
  4. Enabled for Builds: 빌드에만 사용
  5. Always Enabled: 플레이 모드와 빌드 모두에서 활성화

아틀라스 생성

  1. Window > 2D > Sprite Packer를 열어 봅니다.
  2. 좌측 상단의 Pack 버튼을 클릭하여 패킹 작업을 수행합니다.
  3. 아틀라스 페이지와 패킹 정책을 설정하여 아틀라스를 구성합니다.

패킹 정책

패킹 정책은 스프라이트를 아틀라스에 어떻게 배치할지를 결정합니다. - Default Packer Policy: 기본 사각 패킹 사용 - Tight Packer Policy: 스프라이트 메시가 치밀하게 맞춰질 때 사용하는 정책 - Tight Rotate Enabled Sprite Packer Policy: 스프라이트 회전 활성화

커스텀 패킹 정책

필요시 커스텀 패킹 정책을 구현하여 보다 세부적인 컨트롤이 가능합니다. - UnityEditor.Sprites.IPackerPolicy 인터페이스를 사용하여 패킹 로직을 정의합니다. - 기본 패킹 정책을 오버라이드하여 원하는 방식으로 스프라이트를 패킹할 수 있습니다.

샘플 코드

아래는 기본적인 패킹 정책 예시입니다.

using System;
using UnityEngine;
using UnityEditor;

public class DefaultPackerPolicySample : UnityEditor.Sprites.IPackerPolicy
{
    // 패킹 정책에 따른 스프라이트 배열 및 설정
}

Tight Packer 예제

using UnityEngine;
using UnityEditor;

class TightPackerPolicySample : DefaultPackerPolicySample
{
    // Tight Packer의 특정 동작을 정의
}

Tight Rotate Enabled Packer 예제

using UnityEngine;
using UnityEditor;

class TightRotateEnabledSpritePackerPolicySample : DefaultPackerPolicySample
{
    // 회전 가능한 Tight Packer의 동작을 정의
}

유용한 팁

  • 패킹이 완료된 아틀라스는 Project/Library/AtlasCache에 저장됩니다.
  • 성능 최적화를 위해 텍스처 크기를 제한하고 적절한 압축 형식을 사용합니다.

마무리

스프라이트 패커는 Unity에서 2D 게임을 개발할 때 효과적으로 그래픽 자원을 관리할 수 있는 중요한 도구입니다. 다양한 설정 및 정책을 활용하여 게임의 성능을 최대한 끌어올리시기 바랍니다.

Read more

Unity 매뉴얼 스크립팅 API 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 간단한 해설과 활용 예제들을 포함하고 있습니다. Unity는 게임 개발 플랫폼으로, 스크립팅 API를 통해 게임의 다양한 기능을 제어하고 수정할 수 있습니다. 버전 Unity 스크립팅 API는 여러 버전으로 제공됩니다. 주의 깊게 선택하여 사용하는 것이 중요합니다. 버전 설명 2023.2 최신 기능 및 버그 수정이 추가됨

By 이재협/실장/시스템개발실/PHYSIA

Unity 매뉴얼 스크립팅 API 설명서 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 정보를 제공하며, 버전에 따라 다르게 적용되는 내용들을 설명합니다. 본 문서에서는 주요 내용을 간단히 정리하고 활용 가능 예제를 통해 이해를 돕겠습니다. 기본 개념 Unity에서 스크립팅 API는 게임 오브젝트와 그들의 동작을 제어하기 위한 강력한 도구입니다. 이를 통해 게임의 로직, 물리 엔진, 애니메이션 및 사용자 인터페이스를

By 이재협/실장/시스템개발실/PHYSIA

Unity 스크립팅 API 가이드

이 문서는 Unity의 스크립팅 API에 대해 설명합니다. Unity는 게임 개발을 위한 인기 있는 엔진으로, 강력한 스크립팅 기능을 제공합니다. 이 가이드는 Unity에서 스크립트를 작성하고 사용하는 방법을 이해하는 데 도움을 드립니다. 목차 * Unity 스크립팅 소개 * 기본 스크립트 생성 * 스크립트 사용 예제 * 응용 프로그램 * 참고 자료 Unity 스크립팅 소개 Unity는 C# 프로그래밍 언어를

By 이재협/실장/시스템개발실/PHYSIA