Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2208.00元

C#的xml序列化

1.类转xml

2.类转成二进制

序列化前提条件:自定义类、自定义属性加了序列化标签;

 

[展开全文]
艾润Irene · 2020-09-18 · 0

编辑器代码以及kuang:

UnityEditor.AssetDataBase.LoadAseetAtPath<GameObject>("");

参数是相对路径,Assets文件夹下的相对路径,需要后缀名.prefab。

 

[展开全文]
艾润Irene · 2020-09-18 · 0

unity资源加载方式:

1.手动拖到组件上

2.Resources.Load()

Resources文件夹有资源储存上限,比如2G,主要用来存放配置表。

3.AssetBundle

4.AssetDataBase.LoadAtPath

 

[展开全文]
艾润Irene · 2020-09-18 · 0

1. 程序集

自定义程序集

脚本编译生成对应的dll文件,在Library文件夹

 

Unity2018出现了Packages文件夹管理插件等。

2.如何使用功能

建立Assenbly_definition

覆盖本身的程序集;

程序集所属文件夹内文件及子文件夹,都属于该文件夹。

 

3. 程序集引用

自定义需要建立库的依赖,不能直接用using,需要手动建立依赖关系。

C#自带的程序集会默认引用所有程序集,不需要手动建立依赖。

 

[展开全文]
艾润Irene · 2020-09-17 · 0

1. 程序集

自定义程序集

脚本编译生成对应的dll文件,在Library文件夹

 

Unity2018出现了Packages文件夹管理插件等。

2.如何使用功能

建立Assenbly_definition

覆盖本身的程序集;

程序集所属文件夹内文件及子文件夹,都属于该文件夹。

 

[展开全文]
艾润Irene · 2020-09-17 · 0

1、通过Resources加载
 GameObject obj = GameObject.Instantiate(Resources.Load("myPrefab") as GameObject);

2、在菜单栏添加菜单,程序集打包
    using UnityEditor;
    [MenuItem("Tools/打包")]
    public static void Build()
    {
        BuildPipeline.BuildAssetBundles(Application.streamingAssetsPath, BuildAssetBundleOptions.ChunkBasedCompression, EditorUserBuildSettings.activeBuildTarget);
        AssetDatabase.Refresh(); /*编辑器刷新*/
    }
3、通过AssetBundle加载
    AssetBundle assetBundle = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/myPreFabs");
    GameObject gameObject = GameObject.Instantiate(assetBundle.LoadAsset<GameObject>("myPreFab1"));
    
4、AssetDatabase.LoadAssetAtPath方式加载        
GameObject gameObject = GameObject.Instantiate(UnityEditor.AssetDatabase.LoadAssetAtPath<GameObject>("Assets/GameData/Prefabs/myPreFab1.prefab"));

[展开全文]
huiyue · 2019-03-11 · 0

万万没想到啊,居然是这样取消异步加载的,但是异步加载协程的那个AsyncLoadParam还存在,只是回调方法都不会执行了,也就是物体不会创建。但是AB包加载的情况它相关的预制体还是消耗掉了最多的内存= =。。。

[展开全文]
Milk · 2019-01-24 · 0

注意:这节课所弄的引用计数在

 public ResourceObj LoadResource(string path, ResourceObj resObj)

和 public bool ReleaseResource(ResourceObj resObj, bool destroyObj = false)

都会进行对引用次数的更改。

而这节课添加的4个方法,可以说是上面所说2个方法的一部分代码,仅仅只是为了提供给ObjectManager从对象池获取资源时添加引用计数,回收到对象池时减少引用次数的目的,如果抛开对象池这个东西,一直是用上面2个方法进行创建和回收的话,引用次数是按照正常思维那样子,谁使用了就会加1,谁不用就会-1.

我发现ObjectManager的对象池里面的每个对象都是参照着一个ResourceItem制造的,也就是ResourceObj的crc是一样的,其他都不一样,在第一次创建物体时,会去加载出这个ResourceItem并且存入ResourceManager的缓存池,而且会对resourceItem的m_Clear进行赋值为ResourceObj的m_bClear,那么注意是第一次才会进行赋值,第二次就会从缓存池取item,直接设置好resObj的item后会返回了,也就是说,这个参照物ResourceItem的m_Clear确定是在第一次创建的时候确定的,这种确定方法,确定OK么。。

[展开全文]
Milk · 2019-01-23 · 0

Unity5.6 出现仅仅卸载AB包 而不去特地把clip置空的话 clip不会马上释放内存,必须要将audiosource的clip和 脚本引用了clip的地方全部置空才可以。

[展开全文]
Milk · 2019-01-22 · 0

使用ScriptObject制作Asset配置表,一个List用于将单独资源打包,第二个list用于将文件内的资源进行打包放到一个包里面,需要指定AB名和文件目录路径都是绝对路径。

[展开全文]
Milk · 2019-01-21 · 0