unity3d 加载 Material

ImagerGrayMat = resMgr:LoadMaterial("ui/mat/imagegray.unity3d", "ImageGray");
self.btnAllFreeFind:GetComponent('Image').material=ImagerGrayMat 


C# 代码如下:
 public Material LoadMaterial(string abName,string assetName)
        {
            if (m_mats.ContainsKey(abName)) return m_mats[abName];
            Material m = LoadAsset<Material>(abName, assetName);
            if (m != null)
            {
                m_mats.Add(abName, m);
            }
            return m;
        }


        public T LoadAsset<T>(string abname, string assetname,bool dontDestroy = false) where T : UnityEngine.Object {
        #if UNITY_EDITOR
            if (AppFacade.Instance.SimulateAssetBundleInEditor)
            {
                string[] assetPaths = AssetDatabase.GetAssetPathsFromAssetBundleAndAssetName(abname, assetname);
                if (assetPaths.Length == 0)
                {
                    Debug.LogError("There is no asset with name \"" + assetname + "\" in " + abname);
                    return null;
                }

                // @TODO: Now we only get the main object from the first asset. Should consider type also.
                return AssetDatabase.LoadAssetAtPath<T>(assetPaths[0]); 
            }
        #endif
            AssetBundle bundle = LoadAssetBundle(abname, dontDestroy);
            if (bundle == null)
            {
                Debug.Log("Load Bundle Error:" + abname);
                return null;
            }
            float start = Time.realtimeSinceStartup;
            T t = bundle.LoadAsset<T>(assetname);
            float end = Time.realtimeSinceStartup;
            if(end -start > 0.5) Debug.Log("Load Asset: " + assetname + "------Time:" + (end - start));
            return t;
        }

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值