이 글은 PC 버전 TISTORY에 최적화 되어있습니다.
서론
자 이제 에셋번들에 대해서 알고들 오신거죠? 모르신다면 다시 1장으로 가서 허접한 개념잡기를 보고와주세요. 이번에는 에셋번들을 생성하고, 에셋번들에 원하는 에셋을 넣어서 빌드하는 과정을 배워보도록 하겠습니다.
2. 에셋번들의 생성 및 빌드
2. 에셋번들의 생성 및 빌드
에셋번들 생성
저번 장에서 에셋번들에는 에셋들이 들어간다고 했습니다. 여기에는 에셋을 담고 있는 폴더나, 스크립트, 머터리얼, 사운드, 이미지 등등 프로젝트 뷰에 있는 모든 것이 가능하죠. 그럼 간단하게 3개의 큐브를 만들어보도록 하겠습니다.
3개의 큐브는 각각의 머터리얼이 적용되어있습니다. (어려우시면 댓글로 요청해주세요.)
이를 프로젝트뷰의 Prefab 폴더로 옮겨 프리팹으로 만듭니다. 이들이 번들에 포함될 에셋입니다.
각 프리팹을 클릭해보면 우측 하단에 AssetBundle이라는 것이 나옵니다.
좌측 리스트를 클릭하면 현재 정의 된 AssetBundles의 이름과 새 번들을 정의하는 옵션이 표시되죠.
번들을 아직 생성하지 않은 경우 New ...를 클릭하고 번들의 이름을 입력하세요.
그런 다음이 번들에 에셋을 추가하려면 Inspector 창의 하단에있는 메뉴를 사용하여 Project 창에서 애셋을 선택하고 만들어진 번들에 할당하세요. 기본적으로 에셋의 AssetBundle 옵션은 None으로 설정됩니다. 즉, 자산이 AssetBundle에 기록되지 않고 대신 주 프로젝트 자체로 패키지화됩니다. 이 메뉴를 사용하여 하나 이상의 AssetBundle을 만들고 이름을 지정한 다음 새 AssetBundle 이름을 에셋의 대상으로 사용할 수 있습니다.
이 예제에서 큐브는 assetbundle_0에 등록되었습니다. 이 AssetBundle은 당연히 다른 에셋들도 포함할 수 있겠죠. AssetBundle의 이름은 항상 소문자이며 대문자로 입력해도 소문자로 변환됩니다. 또한 'bundle/assetbundle_0'과 같이 슬래시와 함께 입력한 경우 자동으로 메뉴에 하위 메뉴가 포함되도록 폴더가 만들어집니다. 길게 설명했지만 매우 쉽게 에셋번들을 만들 수 있게되었습니다. 훗.
에셋번들 빌드
이번엔 만든 에셋번들을 빌드하는 방법을 알아보도록 하겠습니다.
using UnityEngine; using UnityEditor; public class BuildAsssetBundles : MonoBehaviour { /*********************************************************************** * 용도 : MenuItem을 사용하면 메뉴창에 새로운 메뉴를 추가할 수 있습니다. * (아래의 코드에서는 Bundles 항목에 하위 항목으로 Build AssetBundles 항목을 추가.) ***********************************************************************/ [MenuItem("Bundles/Build AssetBundles")] static void BuildAllAssetBundles() { /*********************************************************************** * 이름 : BuildPipeLine.BuildAssetBundles() * 용도 : BuildPipeLine 클래스의 함수 BuildAssetBundles()는 에셋번들을 만들어줍니다. * 매개변수에는 String 값을 넘기게 되며, 빌드된 에셋 번들을 저장할 경로입니다. * 예를 들어 Assets 하위 폴더에 저장하려면 "Assets/AssetBundles"로 입력해야합니다. ***********************************************************************/ BuildPipeline.BuildAssetBundles ("Assets/AssetBundles", BuildAssetBundleOptions.None, BuildTarget.StandaloneOSXUniversal); } }
자세한 내용은 주석에 설명해놓았습니다. 이 코드는 유니티 에디터 메뉴에 Bundles 메뉴와 하위에 Build Assetbundles 메뉴를 가지고 있습니다. 메뉴를 클릭하게되면 BuildPipeline.BuildAssetBundles 함수는 라벨이 붙은 AssetBundles를 만들고 "Assets/AssetBundles" 폴더에 넣습니다. 이를 위해선 먼저 현재 프로젝트 Assets 하위에 AssetBundles를 만들어야합니다.
[BuildAssetBundles]
- 경로 : AssetBundles를 출력할 경로
- 옵션 : AssetBundle 빌딩 옵션
(None으로 설정 시 에셋에 딸린 에셋까지 빌딩)
-타겟 : 빌드 시 대상 플랫폼 선택
자 이제 유니티 에디터로 나가 Bundles 메뉴의 BuildAssetBundles를 클릭해봅시다.
진행 막대가 있는 빌드 대화상자가 나타나주구요.
지정한 폴더에 제대로 assetbundle_0이 생긴 것을 볼 수 있습니다.
또한 ".manifest" 확장자로 관련파일이 있는 것을 볼 수 있습니다.
아래쪽 Asset을 보시면 3개의 프리팹이 잘 들어온 것을 보실 수 있습니다.
에셋번들 생성과 빌드 과정이 말은 길었지만 생각보다 쉬웠습니다. 다음으로 다운로드를 알아보도록 하겠습니다!
'Frontend > Unity' 카테고리의 다른 글
유니티 프로젝트 2개 띄우기 (5) | 2016.12.16 |
---|---|
[유니티 Manual] 5.5 버전에서의 스플래시 스크린(Splash Screen) (0) | 2016.12.12 |
[유니티 에셋번들 사용법] 3. 에셋번들 다운로드와 로드 (11) | 2016.11.28 |
[유니티 에셋번들 사용법] 1. 에셋번들이란? (2) | 2016.11.25 |
모노디벨롭에서 unsafe 모드 실행하기 (0) | 2016.11.23 |
[유니티 C# 기초 강의] 13. SendMessage와 BroadcastMessage (0) | 2016.08.05 |