¡¡¥×¥ì¥Õ¥¡¥Ö¤ò¥í¡¼¥É¤·¤ÆÀ¸À®¤·¤¿¤È¤¡¢¥Þ¥Æ¥ê¥¢¥ë¤È¥·¥§¡¼¥À¡¼¤¬Àµ¾ï¤Ë¥¢¥µ¥¤¥ó¤µ¤ì¤Æ¤¤¤Æ¤â¥Ô¥ó¥¯¤Ë¤Ê¤ë¤È¤¤¬¤¢¤ë¡£
¤½¤Î¾ì¹ç¤Ë¤Ï¡¢¥·¥§¡¼¥À¡¼¤Î¥Ç¥£¥ì¥¯¥È¥ê(¥¢¥É¥ì¥¹)¤ò»ØÄꤷ¤ÆºÆÅÙ¥¢¥µ¥¤¥ó¤¹¤ì¤ÐÀµ¾ï¤Ëɽ¼¨¤µ¤ì¤ë¡£
[SerializeField]
string shaderStr = "UI/Hidden/UI-Effect-Shiny"; // ¥Ç¥Ð¥Ã¥°¥í¥°¤Ç handle.Result.name ¤Ç½Ð¤¿Ì¾Á°¤Ë¤¹¤ë¡£¥·¥§¡¼¥À¡¼Ì¾¤Î¤ß¤Ç¤Ï¸«¤Ä¤«¤é¤Ê¤¤
public async UniTask LoadPrefabsAsync() {
// °Í¸´Ø·¸¤ÎÆɤ߹þ¤ß
var dependencies = Addressables.DownloadDependenciesAsync(skillDetailReference);
await dependencies.Task;
if (dependencies.Status == AsyncOperationStatus.Succeeded) {
Addressables.LoadAssetAsync<GameObject>(skillDetailReference).Completed += async (obj) => {
skillDetail = obj.Result;
skillDetailPrefab = skillDetail.GetComponent<SkillDetail>();
// °Í¸´Ø·¸¤È°ì½ï¤ËÆɤ߹þ¤Þ¤ì¤Æ¤¤¤ë¤¿¤á¡¢¤³¤ÎÉôʬ¤ÏÉÔÍ×
//var handle = Addressables.LoadAssetAsync<Shader>(uiEffectShaderReference);
//await handle.Task;
//Debug.Log(handle.Result.name);
skillDetail.GetComponent<UnityEngine.UI.Image>().material.shader = handle.Result; // ¤³¤Ã¤Á¤À¤±¤À¤ÈŬÍѤˤʤé¤Ê¤¤¤Î¤Ç¡¢²¼¤Î½èÍý¤ò¤¹¤ë
Shader shader = Shader.Find(shaderStr);
if (shader != null) {
skillDetail.GetComponent<UnityEngine.UI.Image>().material.shader = shader;
} else {
Debug.Log(shaderStr + ": ¥·¥§¡¼¥À¡¼¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£");
}
}
}
¡¡¤Þ¤¿¡¢¥Ó¥ë¥È¥¤¥ó¥·¥§¡¼¥À¡¼¤Î¾ì¹ç¤Ë¤Ï¡¢Project Settings Æâ¤Î Graphics ¤Î Always Included Shaders ¤ÎÀßÄê¤Ç¥·¥§¡¼¥À¡¼¤òÄɲä·¤Æ Save to Asset ¤¹¤ë¡£
¡ÚUnity¡ÛAssetBundle²½¤·¤¿Prefab¤Î¥·¥§¡¼¥À¡¼»²¾È¤¬²õ¤ì¤ë¸½¾Ý
https://appleorbit.hatenablog.com/entry/2015/10/25...