前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity基础(4)-资源管理知识(1)

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

作者头像
孙寅
发布2020-06-02 11:45:50
2.2K0
发布2020-06-02 11:45:50
举报
文章被收录于专栏:宜达数字宜达数字
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:单通道图片类型
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Unity的资源管理
  • 1、Unity下的文件夹
    • Unity那些特殊的文件夹
    • 2、Unity资源下的材质
    • 3、Unity资源下的纹理
      • 1:什么是纹理
        • 2:什么是图片格式
          • 3:关于Unity的图片格式:Texture Type
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档