하나. 유니티 엔진으로 빌드한 apk가 설치된 프로젝트 폴더 내부가 아닌 위치에서 로드하기.
using UenityEngine;
using System.Collections;
public class LoadExternal : MonoBehaviour
{
// file:///sdcard/ 로 시작하면 안드로이드 디바이스의 다른 폴더에 접근할 수 있다.
private string _path = "file:///sdcard/download/AssetBundle.unity3d";
void OnGUI ()
{
if ( GUILayout.Button ( "Local Asset" ) )
{
StartCoroutine ( LoadAsset ( path, 1 ) );
}
}
IEnumerator LoadAsset ( string path, int version )
{
while ( !Caching.ready )
{
yield return null;
}
using ( WWW asset = WWW.LoadFromCacheOrDownload ( path, version ) )
{
yield return asset;
if ( asset.error != null )
{
Debug.Log ( "error : " + asset.error.ToString () );
}
else
{
GameObject go = GameObject.CreatePrimitive ( PrimitiveType.Plane );
go.transform.rotation = Quaternion.Euler ( new Vector3 ( 90f, 180f, 0f ) );
go.renderer.material.mainTexture = asset.assetBundle.mainAsset as Texture2D;
}
asset.assetBundle.Unload ( false );
}
}
}
반응형