반응형

섹션 5 : 에셋 번들 종속성

하나 이상의 UnityEngine.Object에 다른 에셋 번들에 있는 UnityEngine.Object에 대한 참조가 포함되어 있으면 에셋 번들이 다른 에셋 번들에 종속될 수 있다. UnityEngine.Object에 에셋 번들에 포함되지 않은 UnityEngine.Object에 대한 참조가 포함되어 있다면 종속성이 발생하지 않는다. 이 경우에는, 에셋 번들을 빌드할 때 번들이 종속되어 있는 오브젝트의 사본이 번들에 복사된다. 여러 번들 내의 여러 오브젝트가 번들에 등록되지 않은 같은 오브젝트를 참조를 포함하면, 해당 오브젝트에 대한 종속성이 있는 모든 번들이 오브젝트의 자체적인 복사본을 만들어 내장된 에셋 번들로 패키지화 한다.


에셋 번들에 종속성이 포함되어 있으면 인스턴스화(instantiate)하려는 오브젝트가 로드되기전에 이러한 종속성을 포함하는 에셋 번들을 로드하는 것이 중요하다. 유니티는 종속된 것을 자동으로 로드하려고 시도하지 않는다.


다음 예제를 고려해 볼때, 에셋 번들 1의 머티리얼은 에셋 번들 2의 텍스처를 참조한다.



이 예제에서는, 번들 1의 머티리얼을 로딩하기 이전에 번들 2를 메모리에 로드해 두어야한다. 하지만 번들 1과 번들 2를 로드하는 순서가 중요한 것이 아니고, 번들 1의 머티리얼이 로드되기 전에 번들 2에서 필요한 자원이 로드되어 있어야한다는 점이 중요하다.


다음 섹션에서는 이전 섹션에서 다룬 AssetBundleManifest 객체를 사용하여 런타임에 종속성을 결정하고 로드하는 방법에 대해서 설명한다.

반응형

+ Recent posts