Last active
March 16, 2019 07:31
-
-
Save tsubaki/b4874c34dc95954a6051a1d8bf551212 to your computer and use it in GitHub Desktop.
AssetBundleを復号してロードする
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Collections; | |
using UnityEngine; | |
using System.IO; | |
using System.Text; | |
public class LoadAssetbundle : MonoBehaviour | |
{ | |
AssetBundle bundle; | |
FileStream fileStream; | |
const string password = "password"; | |
void OnEnable() | |
{ | |
// 暗号化したAssetBundleを取得 | |
fileStream = new FileStream($"{Application.streamingAssetsPath}/esprite", FileMode.Open); | |
var uniqueSalt = Encoding.UTF8.GetBytes("sprite"); // AssetBundle名でsoltを生成 | |
// Streamで暗号化を解除しつつAssetBundleをロードする | |
var uncryptor = new SeekableAesStream(fileStream, password, uniqueSalt); | |
bundle = AssetBundle.LoadFromStream(uncryptor); | |
} | |
private IEnumerator Start() | |
{ | |
// 普通のAssetBundleと同様にロード出来る | |
var request = bundle.LoadAssetAsync<Sprite>("01"); | |
yield return request; | |
GetComponent<SpriteRenderer>().sprite = request.asset as Sprite; | |
} | |
private void OnDisable() | |
{ | |
bundle.Unload(true); | |
fileStream.Close(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment