Unity基础(4)-资源管理知识(1)

2020-06-02 11:45:50 浏览数 (1)

Unity的资源管理

资源就是资本

1、Unity下的文件夹

Project窗口下的Assets文件夹下,就是用来存放资源的,为了方便,会使用文件夹的方式来对资源进行管理。但是也有一些特殊文件夹

这里面有很多文件夹,就是用来存放Unity资源的。 Materials:材质存放文件夹,Models:存放模型,Prefabs:存放预制物 Scenes:存放场景,Scripts:存放脚本的,Texture:存放图片的,Resources:存放资源,此文件可以通过特定的代码访问

Unity那些特殊的文件夹
  • Standard Assets 文件夹 : 一般不破解,优先被编译
  • Pro Standard Assets 文件夹:
    • 在这个文件夹中的脚本比其他脚本都要先编译。将脚本放在这个文件夹里,就可以用C#脚本来访问js脚本或其他语言的脚本。
  • Editor 文件夹
    • Editor命名的文件夹允许其中的脚本访问Unity Editor的API。如果脚本中使用了在UnityEditor命名空间中的类或方法,它必须被放在名为Editor的文件夹中。Editor文件夹中的脚本不会在build时被包含。 在项目中可以有多个Editor文件夹。
    • 如果在普通的文件夹下,Editor文件夹可以处于目录的任何层级。如果在特殊文件夹下,那Editor文件夹必须是特殊文件夹的直接子目录。
  • Resources 文件夹
    • Resources文件夹允许你在脚本中通过文件路径和名称来访问资源。但还是推荐使用直接引用来访问资源。
  • 一般在游戏开发中,我们会将角色,UI,特效都做成预设,放入Resources文件中。 放在这一文件夹的资源永远被包含进build中,即使它没有被使用。因为Unity无法判断脚本有没有访问了其中的资源。 项目中可以有多个Resources文件夹,因此不建议在多个文件夹中放同名的资源。 一旦build游戏,Resources文件夹中的所有资源被打包进游戏存放资源的archive中。这样在游戏的build中就不存在Resources文件夹了。即使脚本中仍然使用了资源在项目中的路径。
  • Gizmos
    • Gizmos文件夹存放用Gizmos.DrawIcon方法使用的贴图、图标资源。放在Gizmos文件夹中的贴图资源可以直接通过名称使用,可以被Editor作为gizmo画在屏幕上。
  • StreamingAssets
  • 这里的文件会被拷贝到build文件夹中,不会修改(移动和网页版不同,他们会被嵌入到最终build文件中)。它们的路径会因平台而有差异,但都可以通过Application.streamingAssetsPath来访问。如果知识访问数据,那么就将数据文件放在此目录中
  • Plugins
    • Plugins文件夹用来放native插件。它们会被自动包含进build中去。注意这个文件夹只能是Assets文件夹的直接子目录。 在Windows平台下,native 插件是dll文件;Mac OS X下,是bundle文件;Linux下,是.so文件。 跟Standard Assets一样,这里的脚本会更早的编译,允许它们被之外的脚本访问。
    • Plugins/x86 如果为32bit或64bit平台创建游戏,那么这个文件夹下的native plugin文件会被自动的包含在游戏build中。如果这个文件夹不存在,则Unity会查找Plugins文件夹下的native pluglins。
    • Plugins/x86_64 如果为32bit或64bit平台创建游戏,那么这个文件夹下的native plugin文件会被自动的包含在游戏build中。如果这个文件夹不存在,则Unity会查找Plugins文件夹下的native pluglins。 如果要创建universal build,建议你同时使用这两个文件夹。然后将32bit和64bit的native plugins放进相应的文件夹中。
    • Plugins/Android 在这个文件夹里放入Java.jar文件。用于java语言的plugins。.so文件也会被包含进来。
    • Plugins/iOS A limited, simple way to automatically add (as symbolic links) any .a, .m, .mm, .c, or .cpp files into the generated Xcode project.
  • Audio 这里是放入声音的文件夹
  • Effect 角色肯定有很多特效,所以可以将特效放入此文件夹。如果特效中有很多图片可以直接在此目录下新建Sources文件夹。
  • Scripts 文件夹下面一般根据功能划分,辅助类Utils/ 管理UI/ 管理角色Role/
2、Unity资源下的材质
  • 1:材质
    • 材质是指某个表面的最基础的材料,如木质、塑料、金属或者玻璃等,用于渲染的纹理就是材质,一般我们可以通过着色器(shader)来进行材质的修改。
    • 材质有两种:(物理材质统称为一种)
      • 贴图材质(Materials): 通过材质可以让物体显示出贴图等的效果
      • 物理材质(Physic Material): 用于设置物体之间的摩擦力/阻力
      • 2D物理材质(Physic2D Material) : 用于设置2D物体之间摩擦力/阻力

这两种材质

在Unity中可以通过下列方式查看所有材质

All Materials

物理材质

代码语言:javascript复制
  1、反弹球:
Dynamic Friction   0.4
Stract Friction        0.4
Bounciness           1

   2、冰面:
Dynamic Friction 0.1
Stract Friction       0.1
Bounciness          0

   3、铁质:
  Dynamic Friction      0.25
  Stract Friction           0.25
  Bounciness               0

   4、木质:
  Dynamic Friction        0.45
  Stract Friction             0.45
  Bounciness                0
3、Unity资源下的纹理
1:什么是纹理
  • 纹理:其实就是附着在材质之上,纹理要有丰富的视觉感受和对材质质感的体现,一般的纹理图片格式尺寸都是能够被2整除的图片

纹理的设置

我们导入的图片的的纹理

2:什么是图片格式

我们熟知的PSD, TIFF, JPG, TGA, PNG, GIF,BMP, IFF, PICT 默认扔进Unity中的图片格式都是Texture,在Unity5.5.0以后导入进来就是default

Max Size:尺寸如下:2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 或 2048像素。�纹理可不必是正方形,即宽度和高度可以不同。�一般最小像素大于等于32,最大像素大于等于8192. Format:表示图片显示的格式:

Format

default

我们能看到还是修改了很多东西,所以要求我们学东西一定要拿到最新的学习,不然后面使用就杯具了。

3:关于Unity的图片格式:Texture Type
  • 法线贴图 (Normal maps) :灰度图,可以用作对象的高度图,呈现凹凸的表面。法线贴图用于法线贴图着色器,使低多边形模型看起来有更多的细节。这也是低模展示高模细节的一种手段

法线贴图

  • EditorGUI and legacy GUI : 编辑GUI和传统的GUI
  • Sprite(2D and UI) : 制作游戏或者虚拟UI界面就要选择这种格式

2D and UI

  • CubeMap:立方图纹理:立方图纹理(Cubemap Texture)六个独立的正方形纹理的一个集合,这些纹理会用在一个虚构的立方体上。通常用来显示无限遥远的物体上的反射效果。类似的,天空盒(Skybox )如何在背景显示遥远的风景。内置的反射(Reflective )着色器在Unity使用立方图(Cubemap),以显示反射。

Cubemap

  • Cursor:设置2D贴图作为光标的选项.设置一个2D贴图作为光标,唯一需要做的就是调用静态的Cursor.SetCursor方法并且将贴图作为第一个参数传递进去。因此,按照MonoBehaviour类逻辑,如果在Start()或 Awake()方法中调用了Cusor.SetCursor()方法,这样当前光标就应该替换为指定了第一个参数传递的2D贴图的光标。

Cursor

  • 聚光灯贴图 Cookie : 聚光灯创建一个灯光 cookie,使用 cookies 给场景添加许多视觉细节是个很好的方法,使用灰度纹理精确控制游戏中的照明。 启用将灰度图转成 Alpha (Alpha From Grayscale)(以此创建一个灰度 cookie,Unity 会自动将其转换成一张 alpha 贴图)
  • LightMap:光照贴图:这个东西绝对可以另开一篇讲解。光照贴图是将引擎中的光照信息记录下来,让后通过这张图片显示光照信息,减少系统的消耗,提高运行效率。

LightMap

  • Single Channel:单通道图片类型

0 人点赞