您的位置:首页 > 移动开发 > Unity3D

Unity Manual 笔记01 第一章 使用Unity工作——资源工作流

2016-04-18 01:54 1051 查看
前阵看《Unity游戏设计与实现 南梦宫一线程序员开发实例》,第一章还比较容易看懂,后面就需要有Unity的一些基础知识,所以我停下来开始学习Unity Manual,本来想写笔记的,结果写成了像是翻译。不管怎么说就是学习,呵呵。我的英文水平有限,翻译肯定有很多错误的地方,分享在这里,希望能发挥一点作用。需要说明的是,文中的配图全是Unity官方手册配图,版权仍归官方所有,本文仅供各位交流学习,翻译未经官方授权。

资源工作流

本节主要介绍如何在Unity中使用资源。

资源指在游戏或项目中可以使用的物体。资源分为两类,一类是由其他软件创造的文件,如3D模型、音频文件以及其他Unity支持的文件类型;另一类是由Unity内部创造的,比如动画控制器、混音器,或者渲染材质。



一些资源类型可以导入到Unity中。

基本物体和占位物体

Unity可以使用其他建模软件制作的3D模型,它本身也可以直接创造一些基本物体模型,如立方体、球体、胶囊体、圆柱体、平面和Quad(四面体?)。这些物体因为它们本身的一些特性,常常是很有用(比如平面经常用作平坦地面),并且它们提供了一种创造用于测试目的的占位物体和原型的快速方法。这些基本物体可以通过 点击GameObject > 3D Object menu菜单中的相应菜单项添加到场景中。

Cube



立方体每个边的原始尺寸为1个单位,贴图时每个面都重复显示一幅图像。按目前情况看,在大多数游戏中它并不是一个常用的物体。但是,当经过缩放后,它变得非常有用,可以用于建造墙体、柱子、箱子、台阶以及其他相似的物体。当一个模型还未完成时,它也是程序员开发过程中使用的便利的占位物体。比如,它可以代替一个汽车模型用于检测汽车的控制代码。因为它的变长为1个单位,它还可以通过放到导入场景中的多边形附近比较两者尺寸,检查多边形的比例。

Sphere



这是一个直径为单位长度的球体,贴图时图像将覆盖整个球面并在上下两级汇聚。球体表示球、星球、抛射体显然很有用,但是半透明的球体也可以作为一个表示半径效果的GUI装置。

Capsule



胶囊体式一个具有半球形两端的圆柱体。它的直径为1个单位,高度为2个单位(两端半球的半径为0.5个单位)。贴图时图像一次覆盖它的表面并汇聚于半球的顶点。在现实世界里并没有太多真实的物体时这种形状,但它在制作原型的过程中是非常有用的占位物体。特别是,对于特定的任务圆形物体的物理特性有时候优于箱子的。

Cylinder



一个基本圆柱体高度为2个单位,直径为1个单位。贴图时,图像将一次覆盖管状表面,并在两端分别再重复显示图像。用于圆柱体创造柱子、棒子、轮子非常方便,但是你必须注意它的碰撞检测器的形状实际上是一个胶囊形状(Unity中没有基本的圆柱形碰撞检测器)。如果你需要一个用于物理特性的精确的圆柱形碰撞检测器,你需要在建模程序中创建一个具有相应形状的网格并连接网格碰撞检测器。

Plane



这是一个位于局部空间XZ平面的边长10个单位的正方形平面。贴图时整幅图像完整准确覆盖在平面上。对于大多数平整表面平面是非常有用的,比如地面和墙面。在GUI和某些特效中也时常需要一个表面用于显示图像或视频。虽然平面可以用作这些,但是简单的四边形图元常常更适合此类任务。

Quad



四边形图元类似于平面,但它的边长只有1个单位,且其位于局部坐标系中的XY平面。同时,一个四边形分为2个三角形,而一个平面包含200个三角形。在场景中需要一个显示图片或视频的屏幕时,四边形非常有用。简单的GUI和信息显示可以用四边形实现,就像粒子、精灵和“视点替用特效“一样可以用四边形实现,它们可以用图片代替在一定距离上观看的实体。

导入资源

在Unity创造的资源必须被带入到Unity中,这需要将资源文件直接存入你的项目的”Assets“文件下,或者复制到该文件夹下。对于许多通用文件格式,你可以直接将源文件存入到项目中的”Assets“文件夹下,Unity能够读取它们。Unity将会注意到你对文件的更改,并在需要时重新导入该文件。

当你创建一个Unity项目时,你将创建一个同名的文件夹,这个文件夹包含一些子文件夹。



Assets文件夹是保存和拷贝你想要在项目中使用的文件的地方。Project Window显示了你资源文件夹里的内容。如果你保存或复制一个文件到Assets文件夹下,它将在Project Window中被导入并变得可见。

当文件被添加到Assets文件夹,或者Assets文件夹下的文件被更改时,Unity将自动探测到这些文件。当你添加资源到Assets文件夹时,你将看到这些资源出现在Project View中。



项目窗口显示了导入到你项目中的资源

如果你从电脑中(比如从Mac的Finder或从Windows的资源管理器中)将文件拖进Unity 的 Project Window 中时 ,它将被拷贝进你项目的Assets文件夹下,并出现在Project Window中。

你在Project Window 中看到的物体(大多数情况下)表示实际的文件,如果你在Unity中删除它们,你将从电脑中删除这些文件。



你电脑上Unity项目中的Assets文件夹与 Unity中的Project Window 之间的关系。

上面的图片是Unity项目中 Assets文件夹下的一些文件和文件夹的例子 。你可以创造出尽可能多的文件夹用于组织你的资源。

你可以注意到上面图片中文件系统中的一些.meta格式的文件在Project Window中时不可见的。Unity为每个资源和文件夹生成了.meta格式文件,但它们是默认隐藏的,所以你在资源管理器和Finder中可能看不到它们。

它们包含了如何在项目中使用这些资源的重要信息,它们必须与相关的资源文件处于同一位置,所以,如果你移动/重命名一个资源文件,那你必须移动/重命名这些.meta文件以匹配。

最简单的安全移动和重命名资源文件的方法就是总是在Unity的项目文件夹中移动和重命名。这种方法中,Unity将自动移动/重命名相关的.meta文件。如果你喜欢,你可以阅读更多关于.meta文件和在导入过程中在场景中发生的事情。

如果你想要将资源集合导入到项目中,你可以使用Asset Packages。可以阅读Asset Packages 获取更多详情。

一些通用资源的类型

图片文件

最通用的文件格式是被支持的,比如BMP、TIF、TGA、JPG和PSD。如果你保存分层的Photoshop(PSD)文件到你的资源文件夹下,它们将被当作平面图片使用。你可以阅读更多关于导入来自于Photoshop的具有透明通道的图片,或者导入你的图片作为精灵。

3D模型文件

如果你将来自于通用3D软件的原生格式(比如.max, .blend, .mb, .ma)3D文件导入到资源文件夹下,它们将通过调用相应软件的FBX导出插件导入。另外,你还可以从3D软件中导出FBX格式的文件到Unity项目中。更多细节请阅读 importing 3D files from your 3D app.。

网格和动画

不管你用何种3D软件,Unity都可以从文件中导入网格和动画。想要知道Unity支持的3D软件列表,请看 this page。你的网格文件并不需要一个动画文件同时导入。如果你需要使用动画,你可以选择从一个文件中导入所有的动画,或者导入多个分开的文件,这些文件每个都含有一个动画。 想要更多关于导入动画的信息,请看手册的相关部分。

音频文件

如果你将无压缩的音频文件存入Assets文件夹下,它们将会按照指定的压缩设置被导入。阅读更多请看 importing audio files 。

其它资源类型

在所有情况下你的原始源文件都不会被Unity更改,尽管如此,你经常可以从众多方法中选择压缩、更改或其它的方法处理资源。导入过程读取你的源文件,并在内部创造一个游戏可用的匹配你所选导入设置的的源文件的表示。如果你更改了资源导入的设置,或者改变了Asset文件夹下的源文件,这将引起资源重新导入以反映你所做的更改。

注意:导入本地的3D格式要求3D软件与Unity安装在同一台计算机上。这是因为Unity需要使用这个3D软件的FBX插件读取文件。另一种方式是你可以从你的软件中直接导出FBX格式文件到项目文件夹中。

相关阅读:

See also:

* Asset Packages
* Importing Meshes
* 3D formats
* Animation Import
* Materials and Shaders
* Textures and Videos
* Sprite Editor
* Sprite Packer
* Procedural Materials
* Audio Files
* Tracker Modules


导入设置

每种Unity支持的资源都有一套导入设置,这影响到这个资源的表现与行为。要查看一个资源的设置,在项目视图中选择这个资源。这个资源的导入设置将出现在检视面板中。面板中所显示的选项将因为所选择的资源不同而不同。

举例来说,一张图片的导入设置将允许你选择它是作为纹理、2D精灵还是正常的贴图来导入。一个FBX文件的导入设置允许你调整缩放比例,产生法线或光照贴图坐标,分隔和修剪文件中的动画剪辑。



点击项目窗口中的一个图片资源将在检视窗口中出现这个资源的导入设置

对于其它资源类型,导入设置看起来是不同的。你看到的各种各样的设置与所选择的资源类型有关。这里是一个音频资源的例子,它的导入设置出现在检视面板中。



一个项目窗口中的被选中的音频资源和它出现在检视面板中的导入设置。

如果你正在开发一个跨平台的项目,你可以推翻“默认”设置并基于每个平台的基础指派新的导入设置。

从Asset Store中导入

Unity Asset Store 是由Unity公司和这个社区的成员创造的不断增长的免费和商业资源库的家。在这个有广泛和多样的资源可用,覆盖了从纹理、模型、动画、到整个项目、教程和编辑器的扩展。这些资源可以从Unity编辑器内建的界面进行访问并可以被直接下载和导入到你的项目中。

Unity用户可以成为 Asset Store 的发布者,并销售他们所创造的内容。 要照到更多细节, 请看 Asset Store Publishing.

Asset Store访问和导航

你可以从主菜单中选择 Window->AssetStore 打开Asset Store 窗口。当你第一次访问时,你将被提示创建一个免费的用户账号,你可以在随后使用它访问Asset Store。



Asset Store 首页

这个商店提供了类似于浏览器的界面,允许你通过文字搜索、浏览集成包或者目录进行导航。主工具条左侧是我们熟悉的对浏览过的项目进行导航的浏览按钮。



这些按钮的右侧是用于查看下载管理器和查看你的购物车的当前内容的按钮。



下载管理器允许你查看你已经购买的资源包和查找、安装相应的更新。另外,Unity支持的标准资源包可以在同一界面中查看和添加到你的项目中。



下载管理器

下载资源文件的位置

你很少需要直接访问从Asset Store中下载的资源文件,如果需要的话,你可以在以下位置找到它们。

Mac中:~/Library/Unity/Asset Store。

Windows中: C:\Users\accountName\AppData\Roaming\Unity\Asset Store

这些文件夹下包含于Asset Store中的销售商相关的子文件夹。实际的资源文件包含在相应的子文件夹下。

资源包

Unity包是一个非常方便手段用于分享和重用Unity项目和资源。Unity标准的资源和物体在Unity Store中被以包的形式支持,举个例子。包是Unity项目和项目中的元素的文件和数据的集合,这些文件像Zip文件一样被压缩和存储在文件中。跟Zip文件相同,在解压缩时包保持着原来的路径结构,资源的元数据(像资源的导入设置和与其它资源的链接) 也保持不变。

在Unity中,菜单选项 Export Package 压缩和存储这些集合,而 Import Package 选项将这些集合解压缩到当前打开的项目中。

本节包含:

* 导入包:标准资源包,定制包
* 导出包
* 导出更新包


导入包

你可以导入由预先制作的、Unity支持的资源集合组成的标准资源包和使用Unity制作的定制包。

选择 Assets > Import Package > 导入者两种类型的资源包。



Fig 1: Asset>Import Package menu

标准资源包

Unity“标准资源包”由若干不同的包组成: 2D, Cameras, Characters, CrossPlatformInput, Effects, Environment, ParticleSystems, Prototyping, Utility, Vehicles。

导入一个新的标准包:

首先打开你要导入资源的项目;

然后选择 Assets > Import Package > 选择你的资源包的名称,这时会显示导入Unity包的对话框,对话框中的所有物体都被预先选中,准备安装;(请看 Fig 2: New install Import Unity Package Dialog Box)

最后选择 Import, Unity将包中的所有内容放置到一个标准的资源文件夹下,你可以从项目试图中访问。



Fig 2: New install Import Unity Package dialog box

定制包

你可以导入由你自己的项目或其他人项目导出的定制包。

导入一个新的定制包:

首先打开你要导入资源的项目;

然后选择 Assets > Import Package > Custom Package…将打开Windows的资源管理器或Mac的Finder。

然后选择你要的包,这时会显示导入Unity包的对话框,对话框中的所有物体都被预先选中,准备安装;(请看 Fig 4: New install Import Unity Package dialog box.)

最后选择 Import, Unity将包中的所有内容放置到一个标准的资源文件夹下,你可以从项目试图中访问。



Fig 4: New install Import Unity Package dialog box

导出包

使用导出包创建你自己的定制包。

首先打开你要导出资源的的项目;

选择 Assets > Export Package… 菜单项将打开导出包的对话框。(请看 Fig 6: Exporting Package dialog box)

然后在对话框中选中你要导出到包中的资源;

保持 include dependencies box选中以包含你已选资源所依赖的资源;

点击 Expor打开Windows资源管理或者Mac Finder 选择保持包文件的路径,命名和保持在你想要的位置。

提示: 当导出包时Unity可以导出所有的依赖项。因此,举例来说,如果你选择一个场景和所有的依赖项一起导出到一个包中,则所有的模型、纹理和其他出现在场景中的资源将被一起导出。这是一个不用人工选择而导出一堆资源的快速方法。



Fig 6: Exporting Package dialog box

导出更新包

有时候你希望改变一个包的内容,创造一个你的资源包的新版本的更新包。你可以这么做:

首先,选择你想要的资源文件(包括未更改的版本和新的版本);

然后向导出包那样导出到一个包中。

注意:你可以重命名一个更新的包,Unity将识别它为一个更新。你需有使用增量命名,如 MyAssetPackageVer1、MyAssetPackageVer2。

提示: 从包中删除一个文件并不是一个好的操作,你可以使用相同姓名的文件替代它:Unity将识别出它们为不同的、可能会冲突的文件,当它们导入时会显示一个警告符号。如果你要删除一个文件那就替换它,对于原文件来说给它一个具有相同名字的不同的文件是更好的做法。

标准资源

Unity提供了多种标准资源。它们是被大多数Unity用户广泛使用的资源的集合。它们包含: 2D, Cameras, Characters, CrossPlatformInput, Effects, Environment, ParticleSystems, Prototyping, Utility, Vehicles。

Unity使用Unity包将这些标准资源从项目中传入传出。

导入标准资源

请看 Asset Packages 章节关于安装(导入)标准资源,并可以同时了解在项目间分享定制包和使用Asset Store。



Asset>Import Package menu

标准资源不会自动升级

当你在Unity中创建了一个新项目,你可以选择包含你项目中的标准资源。Unity会将你选择要包含的标准资源从Unity的安装文件夹中复制到你的新项目文件夹中。这意味着你可以升级你的Unity编辑器到一个新的版本,但导入到你项目中的标准资源并不会升级。你必须手工升级它们。

提示:一个标准资源的新版本的行为和你已安装的版本可能不同(比如性能和质量不同)。一个新的版本可能会使你的项目外观和行为变得不同,你可能需要重新调整它们的参数。在你重新安装前请检查资源包的内容并阅读Unity的发布注释。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: