场景视图的控制条允许游戏制作者使用不同的场景模式进行浏览:贴图方式、线框方式, RGB,Overdraw 夸大方式和其他方式。同样也允许游戏制作者在场景中查看游戏中的灯光, 游戏元素以及声音。 Draw Mode 绘制模式
第一个下拉列表用于选择 Draw Mode 绘制模式。游戏制作者可以使整个场景以 Textured 贴图、 Wirwframe 线框、 Tex-Wire 贴图 - 线框、 Render Paths 渲染或者 Lightmap Resolution 光照 贴图等方式绘制。此处的设置并不影响最终发布的游戏的效果。 Textured ——显示带有贴图的表面,类似游戏中的效果。 Wireframe ——在场景中,以线框的形式显示面片物体。
Tex-Wire ——在贴图的表面显示线框。Render Paths ——以正向渲染或者反向渲染显示物体。 Lightmap Resolution ——在场景上覆盖一个棋盘格以对应光照贴图的分辨率,如果是正 确的分辨率将很容易看到。 Render Mode 渲染模式
下一个下拉列表框用于选择四种渲染模式的一种,可以选择 RGB 、 Alpha 、 Overdraw 或者Mipmaps 之一来填充场景视图。同样,此处的设置不会影响最终发布的游戏。 RGB ——常规情况下使用所有颜色进行渲染。
Alpha ——渲染全部的 alpha 值以微调透明度,或者使用 alpha 值制作的全屏效果。 Overdraw ——将表明在 Overdraw (过度)期间屏幕的消耗量是多少。
Mipmaps ——显示理想的贴图尺寸 - 红色表示个别的贴图比需要的尺寸要大(在当前距 离和分辨率的情况下);蓝色表示贴图应该更大一点。当然,理想的贴图尺寸要基于游戏运行时的分辨率,以及摄像机到相应表面的最近距离是多少。
Scene Lighting, Game Overlay, and Audition Mode 场景灯光、游戏覆盖?和试听模式 接下来有三个按钮,分别是场景灯光、游戏覆盖和试听模式。
启用 Scene Lighting 场景灯光将覆盖默认的场景视图灯光,不论游戏制作者放置的什么灯光, 以创建最终的灯光效果。
启用 Game Overlay 将在场景视图中显示如下内容,如 Skyboxes 和 GUI Elements ,同时隐藏网格。 启用 Audition 模式,将使场景中的 AudioSources 成份播放,从而游戏制作者在不用进入 Play 模式的情况下就能听到。 Searching 查找 Prefabs 预制物体
预制物体是素材的一种类型,是存储在 Project View 中的可复用游戏物体。预制物体能够插入到任意数量的场景中,并能在单一场景中存在多个。当游戏制作者添加一个预制物体到场景中时,将创建这个预制物体的实例。所有的预制物体实例将链接到原始的预制物体上,实质都是原始物体的克隆产物。不管在项目中已经存在多少实例,当游戏制作者修改预制物体时,将看到修改被应用到全部的实例上。 Creating Prefabs 创建预制物体
为了创建一个预制物体,首先需要使用菜单创建一个空的预制物体。空的预制物体不含游戏 物体,所以不能围绕它创建实例。预制物体可以被认为是一个空的容器,等待游戏物体数据 的填充。要填充预制物体,需要使用场景中已经创建的游戏物体。 1. 从菜单栏选择 Assets->Create->Prefab ,然后命名新的预制物体。 2. 在 Hierarchy View 中,选择要“填充”预制物体的游戏物体。
3. 在 Hierarchy View 中拖动游戏物体到 Project View 的新预制物体之上。
在执行完上述步骤后,该游戏物体和它所有的子物体都将被拷贝到预制物体中。现在预制物 体可以以多实例的形式被复用。在 Hierarchy 中的源游戏物体现在成为预制物体的一个实例。 Prefab Instances 预制物体实例
要在当前场景中创建预制物体的实例,从 Project View 中拖动预制物体到 Scene 场景或者 Hierarchy View 层次视图中。创建的实例将链接到预制物体上,在 Hierarchy View 中以蓝色
31
文本显示它们(实例)的名称。
如果选择了一个预制物体的实例,想对其进行修改,并且将修改应用到所有的实例上, 可以在 Inspector 中点击 Select 按钮,以选择源预制物体。
有关使用脚本实例预制物体可以参看 Instantiating Prefabs 页面。
Inheritance 继承继承的意思是不论源预制物体发生什么变化,这些变化都将施加到链接的游戏物体上(实例 出来的预制物体上)。例如,为预制物体添加一个新脚本,所有链接的游戏物体立刻都将附加此脚本。然而,单独修改一个实例物体的属性,并保持与源预制物体的链接则是完全可以的。只不过修改一个预制物体的实例的任何属性,实例属性的名称将变为粗体,即属性被重写覆盖。所有重写的属性将不再受源预制物体修改的影响。 以上操作可以使游戏制作者修改预制物体实例,以创造不同于源预制物体的独特实例,但是 又不会中断与预制物体的链接。
链接游戏物体,属性没有被重写覆盖链接游戏物体,属性被重写覆盖(粗体)
l 如果想更新源游戏物体,并使所有实例更新为重写数值,则可以在(特定实例的) Inspector 视图中点击 Apply 按钮。
l 如果想舍弃特定实例上的被重写的属性数值,可以点击 Revert 按钮,属性数值将于源 预制物体保持一致。
Breaking and Restoring Prefab Links 中断和恢复预制物体的链接
有一些特定的操作可能会中断实例和源预制物体的链接,不过链接还可以被恢复。 中断链接的操作: 1 、添加或者移除成分; 2 、添加或者移除子游戏物体。
这些中断链接的操作将导致一个警告 / 确认信息的出现。确认操作将中断链接,这样在修改源预制物体时将不再影响中断链接的实例。要恢复链接,可以在被中断的实例的 Inspector 视图中点击 Reconnect 或者 Apply 按钮。
Reconnect 将重新链接,同时保持与源预制物体一致,舍弃那些修改;
Apply 也将重新链接,但是会将实例上的修改施加给源预制物体(并影响其他预制物体的实例)。 Imported Prefabs 引入预制物体
当游戏制作者将一个面片物体的素材放入 Assets 文件夹时, Unity 将自动引入文件,并生成一些内容,看起来像预制物体,只是当中没有面片物体。这不是一个真实的预制物体,它仅仅是素材文件自身。实例和应用这些“素材”将导致一些局限,而正常的预制物体是不会产生这些问题的。注意 asset 图标与 prefab 图标是有一点不同的在场景中,素材如同游戏物体被实例化,而不是标准预制物体的实例,并且链接到源素材。
成份可以正常的从素材形成的游戏物体上添加和移除。但是,游戏制作者不能再给素材文件施加任何的修改,因为这将对素材文件本身添加数据。如果游戏制作者对于创建的东西想复用,那么最好是将素材制作成预制物体进行使用。当游戏制作者选择了素材的实例,那么 Inspector 视图中的 Apply 按钮将被 Edit 按钮替代。 点击这个按钮将调用该素材的编辑制作软件(如 Maya 或者 Max )。 Lights 灯光
灯光是每个场景中基本的组织部分。当面片物体和贴图确定了场景的形态和视觉效果,灯光
将设定 3D 环境的颜色和气氛。游戏制作者一般在场景中会放置多盏灯光,使它们同时发挥效果需要一些调试,不过最终的效果将会很是神奇的。
实例,两盏灯光利用 GameObject->Create Other 菜单命令在场景中创建灯光,共有三种类型的灯光,下面会介绍。一旦场景中被添加了灯光,游戏制作者可以像操纵其他游戏物体一样操纵灯光,可以通过 Component->Rendering->Light 给任何选择的游戏物体增加灯光成份。 在 Inspector 的 Light Component 中有很多项目可供设置。 Inspector 中 Light Component 属性
只要简单的修改一盏灯光的 Color 颜色,就可以使场景展现完全不同的氛围。Bright, sunny lights 明亮,太阳光 Dark, medieval lights 黑暗中世纪灯光 Spooky night lights 幽灵般的夜晚灯光
这样创建的灯光是“实时”的灯光,在游戏运行时,每一帧都将计算这些灯光。如果确认灯光是不会发生改变的,那么可以使用 Lightmapping (灯光贴图),即可虚的很好的视觉效果,又可以加速游戏的运行速度。
32
Rendering paths 渲染路径
Unity 支持不同的 Rendering Paths 渲染路径,这些路径影响主要的灯光和阴影,所以根据游戏的需要选择正确的渲染路径能够提升整个项目的效果。有关渲染路径可以参看 Renderingpaths section 。 More information
有关灯光的信息,参看 Reference Manual 中的 Lights page 。 Cameras 摄像机
如同电影中的摄像机,被用于向观众展示故事情节。 Unity 中的摄像机被用于向游戏者展示故事世界。在故事世界中至少需要一个摄像机,但是也可以有多个。多个摄像机能够给两个游戏者分屏显示,或者创建特殊的效果。游戏制作者可以为摄像机设置动作,或者使用物理学控制它们。几乎游戏制作者能想像的任何场景摄像机都能展现,游戏制作者能够用标准的或者独特的摄像机以适合游戏的风格。 详细参看 Camera Component reference 页面。 Camera 摄像机
摄像机是获取和展示游戏世界给游戏者的设备。通过定制和操纵摄像机,游戏制作者可以使 游戏展现出真实的效果。在场景中可以设置无限的摄像机,它们可以被设置渲染次序,在屏 幕上出现的位置,或者只表现特定的屏幕局部。 Unity 中灵活的摄像机物体
属性Clear Flags Determines which parts of the screen will be cleared. This is handy when using multiple Cameras to draw different game elements.
Background Color applied to the remaining screen after all elements in view have been drawn and there is no skybox.
Culling Mask Include or omit layers of objects to be rendered by the Camera. Assign layers to your objects in the Inspector.
Projection Toggles the camera's capability to simulate perspective. Perspective Camera will render objects with perspective intact.
Orthographic Camera will render objects uniformly, with no sense of perspective. Size (when Orthographic is selected)
The viewport size of the Camera when set to Orthographic.
Field of view Width of the Camera's view angle, measured in degrees along the local Y axis.
Clipping Planes Distances from the camera to start and stop rendering. Near The closest point relative to the camera that drawing will occur. Far The furthest point relative to the camera that drawing will occur. Normalized View Port Rect
Four values that indicate where on the screen this camera view will be drawn, in Screen Coordinates (values 0-1).
X The beginning horizontal position that the camera view will be drawn. Y The beginning vertical position that the camera view will be drawn. W (Width) Width of the camera output on the screen. H (Height) Height of the camera output on the screen.
Depth The camera's position in the draw order. Cameras with a larger value will be drawn on top of cameras with a smaller value.
Rendering Path Options for defining what rendering methods will be used by the camera.
Use Player Settings This camera will use whichever Rendering Path is set in the Player Settings. Vertex Lit All objects rendered by this camera will be rendered as Vertex-Lit objects.
33
Forward All objects will be rendered with one pass per material, as was standard in Unity 2.x.
Deferred Lighting (Unity Pro only)
All objects will be drawn once without lighting, then lighting of all objects will be rendered together at the end of the render queue. Target Texture (Unity Pro/Advanced only)
Reference to a Render Texture that will contain the output of the Camera view. Making this reference will disable this Camera's capability to render to the screen.
清除标志确定屏幕的哪个部分将会被清除。使用多个摄像机绘制不同游戏元素时,这很方便。 背景在视图中已绘制的所有元素,并且没有 skybox 后剩余屏幕应用的颜色。
扑杀掩码包含或忽略要呈现的摄像头的对象的图层。将分配给您的对象在检查器中的图层。 投影切换来模拟透视相机的能力。
观点摄像机将会使对象的角度保持不变。
正交摄像机将会使对象均匀,有没有责任感的角度来看。
大小(当选定正交)当设置为正交的相机的视区大小。字段的视图摄像机的视图的角度的宽度以本地的 Y 轴方向的程度。
修剪平面从相机,开始和停止呈现的距离。 附近最近的点相对于绘图将会出现的镜头。 到目前为止相对于绘图将会出现的相机远点。
归一化的视图端口矩形四个值之一,指示在屏幕上此相机视图将绘制,在屏幕坐标(值 0-1 )。 X 开始水平位置将绘制相机视图。 Y 开始垂直位置将绘制相机视图。
W (宽度)在屏幕上的相机输出的宽度。 H (高度)在屏幕上的相机输出的高度。
深度相机的绘制顺序中的位置。照相机与较大的值将较小的值与相机的基础上绘制。 呈现路径定义哪些呈现方法将使用的相机的选项。
使用播放机设置这架相机将使用绘制路径在播放机设置中设置为准。 顶点亮这架相机所提供的所有对象将都呈现为点亮的对象。 转发所有对象将都呈现的是标准的统一 2.x 的材料每一次。
推迟照明(临只有团结)一旦无照明,然后照明的所有对象将呈现一起呈现队列的末尾,将绘制的所有对象。 目标纹理(统一 Pro/ 高级只)
渲染的纹理将包含相机视图的输出的引用。使此引用,则将禁用此相机的能力来呈现到屏幕。 Details 详细介绍
摄像机是展示游戏给游戏者的基本工具。它们可以被定制,编写脚本,或者被父化去展现任 何类型的特效效果。例如在拼图游戏中,游戏制作者可能设计一个静态的摄像机,完整的展 现整个拼图。而对于第一人称的射击游戏,游戏制作者可能使摄像机成为游戏角色的父物体, 并将它们放置到角色眼睛的高度。对于赛车游戏,一般设计摄像机跟随游戏者控制的赛车。 游戏制作者可以创建多个摄像机,并给予每一个不同的 Depth 景深。摄像机可以从远景逐步
绘制到近景。也就是说,景深为 2 的摄像机比景深为 1 的摄像机先绘制。游戏制作者可以调整 Normalized View Port Rectangle 属性的数值以调整屏幕上摄像机视图的大小和位置。这可以创建很多小的视图,比如地图视图,后视镜图像等。
Render Path 渲染路径
Unity 支持不同的渲染路径。游戏制作者毕竟根据游戏内容和目标平台 / 硬件去选择要使用的
34
渲染路径。不同的渲染路径据有不同的功能和特有的表现,这些多数会影响灯光和阴影。
项目所用的渲染路径可以在 Player Settings 中进行选择,另外,可以为每一个摄像机设置渲染路径。 有关内容查看 rendering paths page.Clear Flags 清除标志
渲染每一个摄像机视图时,摄像机都将保存它的颜色和景深。如果屏幕的某一个部分是空白 的没有绘制的内容,将显示默认的 Skybox 。在使用多个摄像机时,每个都将在缓存中存储 自己的颜色和景深信息,每个摄像机渲染都将积累很多的数据。在场景渲染中用到的任何特
别的摄像机,游戏制作者可以设置 Clear Flags 以清除收集的不同的缓存信息。可以选择下列四种方式之一。 Skybox 天空体
这是默认的设置。屏幕上任何空白的区域都将显示当前摄像机的 Skybox 天空体。如果当前
摄像机没有设置 skybox ,那将采用 Render Settings (选择 Edit->Render Settings )中选择的skybox 。空白区域将回到 Background Color 背景色。 Solid Color 纯色
屏幕中空白的区域将显示当前摄像机设置的背景色( Background Color )。 Depth Only
如果游戏制作者想绘制一把枪,同时又不想对环境造成内部的裁剪,那么可以设置一个摄像 机的景深为 0 以绘制环境,设置另一个摄像机的景深为 1 以独立的绘制武器。武器摄像机的Clear Flags 需要被设置为 depth only 。这将在屏幕上保持环境图画的显示,而不存在于 3-D空间中的任何物体的信息都将被丢弃。当枪被绘制时,不透明区域将被完全的覆盖任何绘制,不管枪离墙有多近。
在清除之前的摄像机景深缓存后,枪被绘制Don ’ t Clear 不清除此模式即不清除颜色,也不清除景深缓存。所导致的结果就是每一帧都将被后一帧覆盖绘制,从而生成涂抹的效果。这个在游戏中通常不被使用,可能最好使用用户自定义的着色器( shader )。 Clip Planes 剪辑平面
Near 和 Far Clip Plane 属性决定摄像机视图的开始和结束。视图平面与摄像机的方向相垂直,
离摄像机的距离被精确计算。 Near plane 设定能被渲染的最近距离, Far plane 设定能被渲染的最远距离。剪辑平面还决定着分布于场景的景深缓存的精确度。一般情况下,要得到较好的精度,最好将 Near plane 设置的尽可能远。
注意近和远剪辑平面都与摄像机的 field of view (镜头)设置的平面有关,一般称为摄像机视锥。 Unity 确保那些在视锥外的物体在渲染时绝对不会出现。这称为 Frustum Culling (视锥剔除)。 Frustum Culling happens irrespective of whether you use Occlusion Culling in your game.视锥剔除不论游戏是否使用遮挡剔除都将产生。
出于性能原因,游戏制作者可能想先剔除小的物体。例如,在很近的距离与很高的建筑物相比较,小的岩石和碎片就可以被设为看不见的。要做到以上效果,可以将小物体放入一个separate layer 单独层中,使用 Camera.layerCullDistances 脚本函数设置每一个层的裁切距离。 Culling Mask 裁减遮罩
Culling Mask 使用层( Layers )选择被渲染的物体群组。更多的关于使用层的信息于下文介绍。通常的,将用户界面放在单独的一个层是不错的做法,然后使用设置到 UI 层的独立摄像机进行渲染。
为了使 UI 显示在其他摄像机视图的上面,游戏制作者还需要设置 Clear Flags 为 Depth only , 并确认 UI 摄像机的 Depth 要高于其他摄像机。 Normalized Viewport Rectangle 规范长方形视图
Normalized Viewport Rectangles 将在要被绘制的当前摄像机视图中专门定义一块屏幕区域, 游戏制作者可以在屏幕的右下角放置一个地图视图,或者在左上角放置一个关卡提示视图。 通过一些设计工作,游戏制作者可以使用 Viewport Rectangle 去创建一些独特的交互行为。
使用 Normalized Viewport Rectangles 可以很容易的创建两个游戏者的分开屏幕效果。在创建两个摄像机后,修改第 1 个游戏者的 Ymin 数值为 0.5 ,第 2 个游戏者的 Ymax 数值为 0.5 。这样可以使第 1 个游戏者的摄像机视图显示在屏幕的上半部分,第 2 个游戏者的摄像机视图
显示在屏幕的下半部分。使用 Normalized Viewport Rectangle 创建双屏显示 Orthographic 正交视图
35