Unity3D細節整理:AssetBundle對應的各種格式文件的類型


我們打包AssetBundle后,Unity3D會根據文件的后綴名將文件轉換為特定的類型對象存儲起來,我們后期獲取時需要根據這些類型取出打包的數據,這里記錄下不同后綴文件打包后的類型。

文本格式

支持后綴:txt、xml;

打包后的類型:TextAsset,數據保存在TextAsset的text屬性中。

二進制格式

支持后綴:bytes;

打包后的類型:TextAsset,數據保存在TextAsset的bytes屬性中。

預制件格式

支持后綴:prefab;

打包后的類型:GameObject,加載后還需要調用Instantiate函數實例化才能使用。

FBX文件格式

支持后綴:fbx;

打包后的類型:添加了Animator(Mecanim動畫系統)或者添加了Animation(Legacy動畫系統)的GameObject,模型加載后還需要調用Instantiate函數實例化才能添加到場景,只包含動畫的FBX文件動畫剪輯的獲取方法如下:

Mecanim動畫

Mecanim中必須制作為預制件進行加載,所以加載后的人物都是配置好的,不存在需要加載Animation Clip的情況。

Legacy動畫

1 private AnimationClip LoadAnimationClip(AssetBundle assetBundle, string name)
2 {
3     GameObject go = assetBundle.Load(name, typeof(GameObject)) as GameObject;
4     return go.animation.clip;
5 }

圖片格式

支持后綴:bmp、jpg、png;

打包后的類型:Texture2D、Sprite。

默認Texture2D,比如使用AssetDatabase.LoadMainAssetAtPath方法加載是就是Texture2D的類型,如果希望打包后是Sprite類型(用在2D游戲上時)可以使用下面的方法加載:

AssetDatabase.LoadAssetAtPath("Assets/Image.png", typeof(Sprite));

音樂格式

支持后綴:aiff、wav、mp3、ogg;

打包后的類型:AudioClip。

ScriptableObject格式

支持后綴:asset;

打包后的類型:ScriptableObject的派生類。

詳情點擊這里


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM