{!See https://docs.google.com/document/d/1takg_GmIBBKKTj-GHZCwzxohpQz7Bhekivkk72kYMtE/edit for reference implementation of OneTrust, dataLayer and GTM} {!OneTrust Cookies Consent} {!OneTrust Cookies Consent end} {!dataLayer initialization push} {!dataLayer initialization push end} {!Google Tag Manager} {!Google Tag Manager end} 여러 프로젝트에서 콘텐츠 로드 | Addressables | 1.21.17
docs.unity3d.com
"{0}"의 검색 결과

    목차 표시/숨기기

    여러 프로젝트에서 콘텐츠 로드

    여러 Unity 프로젝트에 걸쳐 분할된 대규모 프로젝트와 같이 여러 프로젝트로 작업하는 경우, Addressables.LoadContentCatalogAsync를 사용하여 여러 프로젝트의 코드와 콘텐츠를 함께 연결할 수 있습니다.

    여러 프로젝트 설정

    여러 프로젝트 설정을 생성하려면 다음과 같은 상태여야 합니다.

    • 각 프로젝트는 동일한 버전의 Unity 에디터를 사용합니다.
    • 각 프로젝트는 동일한 버전의 Addressables 패키지를 사용합니다.

    프로젝트에는 특정 상황에 필요한 에셋과 코드를 모두 포함할 수 있습니다. 프로젝트 중 하나는 메인 또는 소스 프로젝트여야 합니다. 이 프로젝트는 게임 바이너리를 빌드하고 배포할 프로젝트입니다. 일반적으로 이 소스 프로젝트는 코드가 있으며 콘텐츠가 거의 또는 전혀 없는 상태로 구성됩니다. 기본 프로젝트의 주요 콘텐츠는 최소한 부트스트랩 씬입니다. 에셋 번들을 다운로드 및 캐시하기 전에 성능 목적으로 로컬에 있어야 하는 씬을 포함할 수 있습니다.

    보조 프로젝트는 그 반대로, 콘텐츠가 있으며 코드를 거의 또는 전혀 포함하지 않습니다. 이러한 프로젝트에는 모든 원격 어드레서블 그룹 및 Build Remote Catalog가 활성화되어 있어야 합니다. 이러한 프로젝트에 빌드된 로컬 데이터는 소스 프로젝트의 애플리케이션에서 로드할 수 없습니다. 중요하지 않은 씬은 이 프로젝트에 저장하고 요청 시 기본 프로젝트에서 다운로드할 수 있습니다.

    여러 프로젝트를 사용한 작업

    프로젝트를 설정하고 나면 일반적으로 다음과 같은 워크플로가 진행됩니다.

    1. 모든 보조 프로젝트에 대해 원격 콘텐츠를 빌드합니다.
    2. 소스 프로젝트에 대한 어드레서블 콘텐츠를 빌드합니다.
    3. 소스 프로젝트의 플레이 모드를 시작하거나 소스 프로젝트의 바이너리를 빌드합니다.
    4. 소스 프로젝트에서 Addressables.LoadContentCatalogAsync를 사용하여 기타 다양한 프로젝트의 원격 카탈로그를 로드합니다.
    5. 일반적인 방식으로 게임 런타임을 진행합니다. 이제 카탈로그가 로드되었으므로 어드레서블은 이러한 위치 중 어느 곳에서나 에셋을 로드할 수 있습니다.

    소스 프로젝트에 최소한의 콘텐츠를 로컬로 빌드하는 것이 좋습니다. 모든 프로젝트는 고유하여 각자의 요구 사항이 있지만, 인터넷 연결 문제나 기타 다양한 문제가 발생할 경우 게임을 실행하는 데 필요한 최소한의 콘텐츠 세트를 갖추어 두는 것이 좋습니다.

    셰이더 처리

    어드레서블은 빌드되는 각 어드레서블 플레이어 데이터 세트에 대해 Unity 빌트인 셰이더 번들을 빌드합니다. 즉, 보조 프로젝트에서 빌드된 여러 개의 에셋 번들을 로드할 때 여러 개의 빌트인 셰이더 번들이 동시에 로드될 수 있습니다.

    상황에 따라서는 AddressableAssetSettings 오브젝트에 Shader Bundle Naming Prefix를 사용해야 할 수도 있습니다. 각 빌트인 셰이더 번들은 다른 프로젝트에서 빌드된 셰이더 번들과 이름을 다르게 지정해야 합니다. 이름을 다르게 지정하지 않으면 The AssetBundle [bundle] can't be loaded because another AssetBundle with the same files is already loaded. 오류가 발생합니다.

    문서 개요
    맨 위로
    Copyright © 2023 Unity Technologies — 상표 및 이용약관
    • 법률정보
    • 개인정보처리방침
    • 쿠키
    • 내 개인정보 판매 금지
    • Your Privacy Choices (Cookie Settings)