Assetbundle 을 이용한 업데이트 시스템
http://answers.unity3d.com/questions/55512/Does-AssetBundle-on-Android-work-well-.html : Android Asset Bundle
다음과 같이 에디터 오퍼레이션으로 Assetbundle 을 만드는데...
BuildPipeline 에서 무조건 플랫폼을 정해 줘야 한다.
//#if !UNITY_ANDROID
using UnityEngine;
using UnityEditor;
public class ExportAssetBundles {
[MenuItem("Assets/Build AssetBundle From Selection - Track dependencies")]
static void ExportResource () {
// Bring up save panel
string path = EditorUtility.SaveFilePanel ("Save Resource", "", "New Resource", "unity3d");
if (path.Length != 0) {
// Build the resource file from the active selection.
Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
BuildPipeline.BuildAssetBundle(Selection.activeObject, selection, path, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets,BuildTarget.Android); //
Selection.objects = selection;
}
}
[MenuItem("Assets/Build AssetBundle From Selection - No dependency tracking")]
static void ExportResourceNoTrack () {
// Bring up save panel
string path = EditorUtility.SaveFilePanel ("Save Resource", "", "New Resource", "unity3d");
if (path.Length != 0) {
// Build the resource file from the active selection.
BuildPipeline.BuildAssetBundle(Selection.activeObject, Selection.objects, path);
}
}
}
//#endif
if (m_goPatchingScenePrefab.GetComponent<PatchingTesting>().m_nVersion < 2)
{
// Patching Update.......
// WWW www = new WWW("http://192.168.0.40/ppp2.unity3d");
WWW www = WWW.LoadFromCacheOrDownload("http://192.168.0.40/ppp2.unity3d",2);
/*while(!www.isDone)
{
yield return 0;
}
*/
// yeild retrun www.;
yield return www;
Debug.Log("Down Load Done!!");
// Instantiate(www.assetBundle.mainAsset);
m_bDownloaded = true;
// Instantiate(www.assetBundle.mainAsset);
// www.assetBundle.LoadAll();
m_goPatchingScenePrefab = (GameObject)www.assetBundle.Load("PatchingContests");
}
Instantiate(m_goPatchingScenePrefab);
IIS 설정 후....
1. MIME 에 ~.unity3d를 추가 해야 한다.
2. crossdomain.xml 이 최 상위에 있어야 하는데...이건 만들어야 한다.
내용은...
인데....자세한 설명은
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
http://docs.unity3d.com/Documentation/Manual/SecuritySandbox.html
이곳에 있다.
[출처] Assetbundle 을 이용한 업데이트 시스템|작성자 timyman
'Unity3D > Script' 카테고리의 다른 글
Invoke, InvokeRepeating, CancelInvoke (0) | 2013.07.03 |
---|---|
Unity3D MonoBehaviour Lifecycle(흐름도) (0) | 2013.07.03 |
Unity Singleton (0) | 2013.03.11 |
NavMesh 사용하면서 오브젝트가 밀리지 않아야 될 때.. (0) | 2013.02.13 |
Disable warning messages (0) | 2013.02.06 |