일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- android app bundle
- 커스텀쉐이더
- Android
- kinect v2
- unityhub
- Specular Highlights
- untiy
- WebGL
- web3D
- Unity VisualStudio
- RenderStreaming
- 에셋번들
- TextMeshPro 한글
- 랜더스트리밍
- AssetBundle
- muilt controller
- DS4
- 역직렬화 오류
- TextMeshPro
- apk
- 유니티
- 구글플레이스토어
- AR
- Unity
- 듀얼쇼크4
- Environment Reflections
- webview
- Depth camera
- 반응형레이아웃
- Rewired
- Today
- Total
기억저장고
Unity AssetBundle 생성/불러오기 본문
Unity에서 AssetBundle을 사용하는데 많이 어려움을 겪었다.
나는 FBX를 AssetBundle로 저장해서 서버에 올린다음에 WebGL로 불러오는 작업을 했었다.
정말 어려웠다... 다 어려운방법들을 알려줘서.. 이해를 잘 못했다. (지금도 못함)
*WebGL 플레이중 FBX 받는법
1. FBX를 AssetBundle로 묶는다.
2. AssetBundle을 서버에 올린다.
3. WebGL 플레이 중 AssetBundle을 다운받는다
4. 받은 AssetBundle안에 있는 FBX를 꺼낸다.
이 순서로 진행해야한다.
바로 서버에있는 FBX를 받고적용시키는거는 안돼더라..
서버에서 Assetbundle 받을때 서버에서 .unity3d(에셋번들확장자) 확장자 접근권한 설정해줘야한다.
(1) AssetBundle Browser 설치
Window > PackageManager -(All packages) > AssetBundleBrowser검색 > install
*PackageManager에서 검색안될때 Git으로 설치
PackageManager > 왼쪽의 (+)버튼클릭 > Add Package from Git URL 입력
https://github.com/Unity-Technologies/AssetBundles-Browser.git
- Git으로 Package 설치 중 오류 있을때 해결방법
https://learnandcreate.tistory.com/729
유니티 패키지 설치 오류(No ‘git’ executable was found)
유니티 패키지 설치 오류(No ‘git’ executable was found) 깃에 공개된 패키지를 패키지 매니저(package manager)의 git URL를 사용하여 설치를 시도할때 또는 깃에 공개되어있는 패키지를 사용하는 프
learnandcreate.tistory.com
(2) 번들 만드는법
1."Asset Bundle Browser"를 PackageManager에서 import
2. window > assetbundle browser 클릭
3. Build 탭 선택 후 다음과 같이 세팅
4. 원하는 FBX파일 선택 후 assetbundle browser 의 Configure로 끌어다 놓기 (FBX이름으로 AssetBundle이름 생성됨)
5. "unity3d" 타이핑
- 1번 : 번들이름 (AssetBundle 생성하면 설정한 이름으로 생성됨)
- 2번 : unity3d 라고 작성
6. Build 탭에서 Build버튼 클릭 하면 AssetBundle 만들어짐
- 저장위치 : Output Path
(3) 번들 불러오는법
1. AssetBundle 불러오는 방법 (AssetBundle을 저장할때 "unity3d"라고 뒤에 붙여줬었음)
public IEnumerator InitBundle(string bundleName)
{
string path = bundleName + ".unity3d";
AssetBundle bundle;
float proccessing=0;//로딩 프로그레스 값
using (var uwr = UnityWebRequestAssetBundle.GetAssetBundle(path))
{
var operation = uwr.SendWebRequest();
while (!operation.isDone)
{
proccessing = uwr.downloadProgress;
yield return null;
}
bundle = DownloadHandlerAssetBundle.GetContent(uwr);
}
}
2. AssetBundle 안에 있는 내용 불러오는 방법 (FBX)
public IEnumerator LoadObject(string objName)
{
//bundle : 이전에 불러온 AssetBundle값
if (bundle == null)
{
yield return InitBundle(cushionCode);
}
var prefab = bundle.LoadAsset<GameObject>(objName);
GameObject obj = Instantiate(prefab);
yield return null;
}
'Unity' 카테고리의 다른 글
UnityHub에서 프로젝트가 안 열릴때... 해결방법 (0) | 2022.01.07 |
---|---|
unity APK 파일 스마트폰에 수동설치 안될때.. (1) | 2021.11.09 |
구글스토어 aab (150Mb이상)파일 업로드방법 (0) | 2021.09.02 |
untiy WebGL 로컬파일(html) 열기 (0) | 2021.06.19 |
Assetbundle download is complete, but no data have been received 오류 (0) | 2021.06.19 |