Unity文件夹的作用
Resources | 存放资源的特殊文件夹,Resources中全部资源会被打包 |
---|---|
Pluging | 存放第三方包、工具代码、sdk文件 |
Editor | 为Unity编辑器扩展程序的目录,可以在根目录下,也可以在子目录下 |
StreamingAssets | 该文件夹也会在打包的时候全部打进包中,但它是“原封不动”的打包进去(直接拷贝到的包里) |
Assets | 存放所有资源的文件夹 |
Library | 文件资源库 |
ProjectSettings | 项目配置文件夹 |
Temp | 在打开Unity项目工程的时候会自动创建一个Temp临时文件夹,当项目关闭的时候,此文件夹会消失 |
UnityPackageManager | 项目的资源包管理 |
Editor Default Resources: 注意中间是有空格的,必须放在Project视图下的根目录,可以在此文件夹中存放图片贴图,和Editor一样,在打包的时候不会打到包体中。
加载
//Resources加载
Resoureces.Load("路径"); //本地加载,在Resoureces文件夹下
WWW ww=new WWW("服务器存放资源的地址"); //从服务器中加载
//一般使用AB包加载,
AssetBundle.Load();
/*会加载物体,使用该物体的名字作为识别的参数。名字可以在Unity3d中Project view看到。
你可以自由选择去传递对象变量的类型来确认该加载对象是否是被指定的类型*/
/*与.Load()相似,但是当资源加载时它不会阻碍主线程。如果同时要加载比较大的资源或者很多资源时,
这个函数会比较有用,它可以避免程序的暂停,因为它会同步加载*/
AssetBundle.LoadAsync();
//加载资源中的所有对象
AssetBundle.LoadAll();
Unity中Resources,AssetDataBase,AssetBundle加载资源的区别:
Resources:代码运行过程中,直接从Resources文件下加载
AssetDataBase:这种方式只在editor范围内有效,游戏运行时没有这个函数,它通常是在开发中调试用的
AssetBundle:需要提前打AssetBundle包,放在服务器或者本地上,然后获取AssetBundle包,进行加载
面向对象和面向过程的区别及其优缺点
面向过程优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点: 没有面向对象易维护、易复用、易扩展
面向对象优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
缺点: 性能比面向过程低
其他
简述顶点着色器和片段着色器各自的作用
顶点着色器是用来处理顶点数据的,主要完成的工作有:坐标变换和逐顶点光照
片段着色器:用来处理片段,它们负责输出每个三角形像素的最终颜色。片段着色器将顶点着色器输出的片段作为输入,片段的顶点属性已被光栅化单元进行了插值处理。
暂停游戏时,time.scaletime=0,内置函数的变化:
1、FixedUpdate函数将不会被执行
2、协程函数不会停止,但是会停止WaitForSeconds,协程函数还是会每一帧触发,但WaitForSeconds使用的当前的Time.deltaTime变为0.
3、Incoke和InvokeRepeating延迟一段时间后,调用指定函数
4、Particle System,粒子系统关闭
5、Animations停止,如果使用的是Animator,可以设置动画忽略Time.timeScale带来的影响,需要把UpdateMode设置为UnScaledTime。
GameObject.Find和Transform.Find的区别
1、GameObject.Find,可以使用指定路径查找对象,也可以使用模糊路径查找对象,使用模糊路径为递归查找,找到第一个符合条件的对象就返回,没有则返回null。不能查找到隐藏的对象。
2、Transform.Fine,只能使用绝对路径查找,不能使用模糊路径,一般用于有父子关系的对象,并且可以查找隐藏的对象。
获取对象上的脚本
GameObject.GetComponent<方法名>();
AssetBundle的内存分配理解
AssetBundle是一个压缩包,其中包含模型,贴图,预制体,音效甚至整个场景,可以在游戏运行的时候被加载。
AssetBundle自身存在相互依存的关系,不同包之间相互联系。
使用的压缩算法:LZ4,LZMA
这些是学习Unity过程中,一些基础的东西,在这篇文章中还不是很完整,后续会整合更加完整的一篇文章。