unity3d脚本(6)

2018-12-29 22:03

显示 Unity 脚本手册 Unity Forum Unity 论坛 显示 Unity 论坛

Welcome Screen 欢迎窗口 显示欢迎窗口

Release Notes 发行说明 显示发行说明

Report a Problem 问题反馈 提交问题反馈

Building Scenes 创建场景 GameObjects 游戏物体

GameObjects 在 Unity 中是最重要的物体。本节将介绍游戏物体。

在游戏中的每一个物体都被称为游戏物体,然而,游戏物体自身是不能做任何事情的,它们 在成为角色、环境或者特效之前必须定义属性,从而胜任多项任务。如果所有物体是游戏物 体,那么如何在一个静态屋子中与物体发生交互行为?如何使这些游戏物体之间互相不相 同?

答案就是:游戏物体将是“容器”,它们是空的盒子,可以装载不同的碎片,这些碎片将组成岛屿或者物理驱动的赛车。所以要真正理解游戏物体,就要理解它们的组织“碎片”,这些被称为 Components (成份)。根据想要创建的物体不同,可以将不同组合的成份添加到游戏物体中。游戏制作者甚至可以使用脚本创建自己的成份。 The GameObject-Component Relationship 游戏物体 - 成份关系在任何 Unity 场景打开时,创建一个新游戏物体,选择它,查看 Inspector 。

空游戏物体的 Inspector (检查器)注意:空游戏物体也包含:名称、 Tag 标签、 Layer 层。每一个游戏物体都包含 Transform 成份。 Transform 成份

在 Unity 中是不可能创建一个不具备 Transform 成份的游戏物体的。 Transform 是最重要的成份之一,( since all of the GameObject's Transform properties are enabled by its use of this Component )因为游戏物体的所有变换属性都是通过此成份实现的。该成份定义了游戏物体在游戏世界 / 场景视图中的位置、旋转和缩放。如果一个游戏物体没有 Transform 成份,那么在计算机的内存中就不存在任何信息,也就是不存在于游戏世界中。Transform 成份还可以通过 Parenting (父操作)使用,通过 Unity Editor 进行初始化,是游

戏物体的重要部分。如果要学习 Transform Component 和 Parenting ,可阅读 Transform

Component Reference 页面。Other Components 其他成份Transform 成份是所有游戏物体的关键组成,所以每一个游戏物体都有。但是游戏物体同样还可具有其他的成份。The Main Camera ,默认添加到每个场景

查看 Main Camera 游戏物体,可以看到包含几个不同的成份集合,例如 a Camera Component,a GUILayer, a Flare Layer, 以及 an Audio Listener 。所有的成份都将提供功能给游戏物体,没有它们,在游戏运行时将没有东西被渲染。刚体、碰撞、粒子和声音都是能添加给任何游戏物体的不同成份。 Using Components 使用成份

Components (成份)是物体最基本的螺栓螺母,是游戏的行为。是每个游戏物体的功能组

成部分。如果游戏制作者还不清楚成份和游戏物体之间的关系,可以查看 GameObjects 介绍页面。

游戏物体可以具有多个成份,默认情况下,所有的游戏物体自动具有 Transform 成份。因为Transform 决定游戏物体在空间中的位置,以及旋转和缩放。如果没有 Transform 成份,那么游戏物体在空间中就没有位置。尝试创建一个空游戏物体,选择 GameObject->Create Empty ,选择新创建的游戏物体,查看 Inspector 视图。 空游戏物体也具有 Transform Component

记住:随时可以使用 Inspector 视图查看被选择的游戏物体上附着了哪些成份。当成份被添加和删除时, Inspector 视图将是始终显示当前附着的那一个成份。游戏制作者可以使用 Inspector 视图去修改任何成份的所有属性(包括脚本)。 Adding Components 增加成份

26

通过 Components 菜单可以向被选择的游戏物体增加成份。尝试添加 Rigidbody 成为给刚创建的空游戏物体。先选择空游戏物体,再选择 Component->Physics->Rigidbody 命令。

游戏制作者可以给单一的游戏物体附上多个或者混合的成份。某些成份混合在一起可以很好 的工作,例如 Rigidbody 与其他任何的 Collider (碰撞)。 Rigidbody 通过 NVIDIA PhysX 物理引擎控制物体的 Transform 变换,同时 Collider (碰撞)允许 Rigidbody 与其他 Collider 发生碰撞和交互。另外一个特殊成份组合是 Particle Syetem (粒子系统)。它们使用 Particle Emitter, Particle Animator 和 Particle Renderer 创建了移动的一组粒子。

如需详细了解成份,可以阅读 Component Reference ,也可以在 Unity 的 Inspector 中的成份处点击“?”进入该成份的参数页面。

Editing Components 编辑成份

成份的一个巨大特点是它的灵活性。当将一个成份附着给游戏物体时,它所具有的数值或者 属性在创建游戏时可以在编辑器中进行调整,在运行游戏时可以通过脚本进行更改。主要有 两种类型的属性: Values (数值)和 References (引用)。

看下图,这是一个空游戏物体,具有 Audio Source 成份。 Audio Source 中所有的数值都是默认数值。Audio Source 成份包含一个引用属性和多个数值属性。 Audio Clip 是引用属性。当 Audio Source开始播放,它将试图播放 Audio Clip 属性中定义的声音文件。如果没有引用文件,将产生错误。游戏制作者必须通过 Inspector 引用文件。非常简单,从 Project View 中拖动声音文件到引用属性框上即可,或者使用 Object Selector 。 成份中可以包含任何其他类型成份的引用,以及游戏物体或者素材。参看 Assigning References 页面。

Audio Clip 成份剩下的属性都是数值属性,在 Inspector 中可以直接调整。 Audio Clip 的数值属性基本都是开关、数值、下拉列表形式,不过数值属性也可以是字符串、颜色、曲线和其他类型。参看 Editing Value Properties 页面。 Testing out Properties 测试

当游戏处于 Play Mode 运行模式,在任何游戏物体的 Inspector 视图中轻松更改属性。例如:测试跳跃的不同高度。如果在脚本中创建了一个 Jump Height 属性,在进入运行模式后,更改数值,按跳跃键查看效果。在不退出运行模式的情况下,再次修改并测试。当退出运行模式,该属性将返回到运行前所设定的数值,因此不会造成任何劳动成果的丢失。这会极大的提高工作效率。 Removing Components 删除成份

如果要删除成份,按住 option 键或者鼠标右键在 Inspector 中点击成份标题,选择 Remove Component 。或者点击“?”旁边的 option icon 选项图标。一旦删除成份,所有的属性数值将被丢弃,且不能 undo 。所以在删除成份前一定要确认进行此操作。

The Component-Script Relationship 成份和脚本关系

在创建了脚本并附着给游戏物体后,该脚本将显示在此游戏物体的 Inspector 中,类似一个 成份。在保存时,脚本以成份的形式存在,它是特别类型的成份,如同其他任何类型成份一

样可以被 Unity 引擎处理。所以总的来说,脚本就是成份,游戏制作者可以自己创建,并设定在 Inspector 中出现的属性。一旦附着在游戏物体上就将被执行,不论是否编写了功能。 具体参看 Scripting 页面。

Using the Inspector 使用 Inspector

Inspector 视图被用于查看和编辑游戏物体的属性。

Unity 的游戏是由多类型的游戏物体构成的,包括面片物体、脚本、声音或者其他图形元素, 比如灯光。当游戏制作者在 Hierarchy 或者 Scene 视图中选择一个游戏物体,在 Inspector 视图将显示并允许游戏制作者修改该游戏物体的属性、附着的成份和材质。在 Project 视图中选择一个 Prefab 也可以进行以上操作。同样还可以修改游戏中物体的功能。

当游戏制作者创建了一个脚本,它将作为游戏制作者类型的成份,当该脚本附着给游戏物体 后,该脚本所带的变量将在 Inspector 中如同属性一样显示出来,并可直接被编辑,而不用

去修改脚本。此外, Inspector 还用做显示素材的重要选项,例如贴图、 3D 模型以及字体等。一些场景和项目设置也可以通过 Inspector 查看。 Inspector 就如同 Setting Managers 。

27

在 Inspector 中显示的任何属性都可以直接被修改,有两种属性:数值和引用。

Editing Value Properties 编辑数值属性数值属性不会引用任何内容,可以在数值框中直接改变。标准数值属性是数字、开关、字符串和列表选择框,也可以是颜色、向量、曲线和其他类型。

很多数值属性具有一个文本框,可以在此直接进行修改,通过键盘输入数值,按回车键保存 数值。

l 也可以将鼠标放置在数值属性附近,按住左键拖动以快速调整数值。 l 一些数值属性可能具有滑动条,可以用来快速可视化的调整数值。 l 一些数值属性可以调出一个对话框,利用该对话框可以调整数值。 色彩汲取器

Color 类型的属性将调出 Color Picker (色彩汲取器)(选择 Unity->Preferences ,选中 Use OS X Color Picker ,可以将颜色汲取器更换为 Mac OS X 系统上的颜色汲取器。) Inspector 中的 Color Picker Reference 如图所示。

在 Color Picker Reference 上面单击即可打开 Color Picker 。 色彩汲取器

当游戏制作者想取得颜色的数值时,可以使用吸管工具,然后移动鼠标到要汲取的颜色上边

即可。 RGB/HSV Selector 控制颜色数值从 Red , Green , Blue 到 Hue , Saturation , Value ( Strength浓度)。通过 Alpha Channel 数值可以控制颜色的透明度。

Curve Editor 曲线编辑器AnimationCurve 类型的属性将打开 Curve Editor ,该编辑器用于编辑曲线或者选择预设的曲线。参看 Editing Curves 。

这种类型被称为 AnimationCurve 是有历史原因的,其实它可以被用于定义任何游戏制作者 自定义的曲线功能。在游戏运行时,曲线将被脚本计算。

在 Inspector 中 AnimationCurve 属性被现实为很小的预览。在预览上点击将打开 Curve Editor 曲线编辑器。 Wrapping Mode 允许游戏制作者从 PingPong 、 Clamp 和 Loop 中选择一种去调控曲线。 Presets 用于采用预设外形调整曲线。 Assigning References 赋值引用

Reference 属性是用于引用其他物体的属性,可引用的物体包括游戏物体、成份或者素材。

引用框将显示什么类型的物体可以在此处被引用。Audio Clip 属性框显示此处接受应用的物体类型是声音片段,引用声音片段后的显示引用类型是非常快速和强大的,尤其是通过脚本进行引用。使用拖曳方式或者使用 Object Picker 都可以将要引用的物体赋值给引用属性。

Drag and Drop 拖曳方式在 Scene 视图, Hierarchy 或者 Project 视图选择需要的物体,然后拖动到引用框内即可将物体赋值给引用属性。

如果引用属性接受的是特别的成份类型(例如 Transform ),当拖动一个游戏物体或者预制物体到引用框时,只要游戏物体或者预制物体包含所需要类型的成份,就会被正确赋值。引用属性将引用有关的成份,尽管是游戏物体或者预制物体被拖动到引用框上。

如果拖动的物体不是需要的类型,或者没有合适的成份,则不能为此引用类型赋值。

The Object Picker 物体拾取器点击引用框旁边的小目标图标将调出 Object Picker 物体拾取器。Object Picker 是一个简单的窗口,用于在 Inspector 中赋值物体,以及浏览和查找应用。 尽管 Object Picker 非常容易使用,但也有些事情需要注意。如下介绍。 分析物体拾取器

1 、 Search :当拾取器中有很多物体时,可以使用 Search 框去搜索,检索框还可以通过物体 的标签进行查找。

2 、 View Selector :切换查找基于的视图,是场景视图还是素材视图。

3 、 Preview Size: 调整预览的尺寸,从而可以更多或者更少的看到物体。4 、 Preview Window :此处将显示所有通过筛选的物体,它们被组织在 Scene/Asset 文件夹中。

5 、 Object info: 显示当前选择物体的信息。此区域的内容因查看物体的类型不同而不同。例如选择的是 Mesh ,显示的是顶点的数量和三角形面片的数量,不管是否具有 UV 和蒙皮。不过,如果选择了一个声音文件,将提供

28

该声音的比特率、长度等信息。

6 、 Object Preview :这也与游戏制作者当前查看的物体有关。如果选择了 mesh ,将显示 3D略图,如果选择的是脚本文件,将只显示文件的一个图标。

Object Picker 作用于项目的任何素材上,可以是视频,歌曲,地形, GUI 蒙皮,脚本文件, 或者面片物体。这将是你经常用到的一个工具。 Hints 提示 :

使用 Object Picker 的查找框寻找物体时,在 Assets 中使用 Labels 标签可以帮游戏制作者更容易的找到所需素材。如果觉得预览窗口比较小,可以向下移动底部中间的滑块以扩大该区域。如果想查看物体的详细信息,可以向上拖动滑块以扩大信息区域。

Inspector Options Inspector 操作

Inspector 的 Lock 和 Debug 模式是两种非常有用的操作,可以在工作中很好的帮助游戏制作者。 Lock 锁定模式

Lock 模式可以使 Inspector 锁定到一个特定游戏物体上,即使选择了其他游戏物体, Inspector

也不会切换。在 Inspector 右上角,使用 lock/unlock 进行设定。或者调出 tab 菜单,选择 Lock 命令。

注意:可以同时开启多个 Inspector ,其中一个可以用于锁定某个游戏物体,另一个用于跟踪选定的游戏物体。 Debug 跟踪模式

Debug 模式允许游戏制作者跟踪检查 Inspector 中的成份中的私有变量,一般情况下,这些 私有变量是不被显示的。要切换到 Debug 模式,打开 tab 菜单,选择 Debug 命令。

在 Debug 模式中,所有的成份显示在同一个默认的界面中,而不像 Normal 模式,一些成份使用自有的界面。 例如, Transform 成份在 Debug 模式显示的是 raw Quatemion (原始四元数?),而在 Normal

模式显示的 Euler Angles (欧勒角).游戏制作者也可以使用 Debug 模式去检查自己脚本成份中私有变量的数值。 Inspector 在 Debug 模式可以检查脚本和其他成份中的私有变量。

游戏制作者可以控制某个 Inspector 处于 Debug 模式,而其他的处于 Normal 正常模式 Using the Scene View 使用场景视图

Scene View 是交互设计的地方。游戏制作者可以使用场景视图去选择和放置环境,游戏者,

摄像机,敌人,以及其他所有的游戏物体。在 Scene 视图中调配和操纵物体是 Unity 中重要的功能,因此,快速去操作是非常需要的。

Scene View Navigation 场景视图导航

快速了解场景视图以及常用的控制操作。 Arrow Movement 光标键移动

使用光标键可以移动场景。按住 Shift 键可以更加快速。 Focusing 焦点

选择任何游戏物体,然后按 F 键。将使被选择的物体出现在场景视图的中间,成为中心点。 这也被称为 Frame Selection 。

Orbit 、 Move and Zoom 环绕、移动和缩放环绕、移动和缩放是场景视图导航的主要操作。这些操作是非常容易掌握的。

下面的操作可以在任何工具被选择的情况下执行,按住 Shift 键可以是移动和缩放更快速。 With a Three Button Mouse 使用三键鼠标

Orbit 环绕:按住 Alt+ 左键可以使摄像机视点环绕当前焦点。 Move 移动:按住 Alt+ 中键可以拖动摄像机视点。 Zoom 缩放:按住 Alt+ 右键可以缩放摄像机视点。 With No Middle Mouse Button 使用没有中键的鼠标

Orbit 环绕:按住 Alt+ 左键可以使摄像机视点环绕当前焦点。

Move 移动:按住 Alt+Ctrl ( Alt-Command Mac 平台) + 左键可以拖动摄像机视点。 Zoom 缩放:按住 Alt+ 右键可以缩放摄像机视点。 Using a One-Buttion Mouse 使用一个按钮的鼠标

29

Orbit 环绕:按住 Alt+ 按钮可以使摄像机视点环绕当前焦点。

Move 移动:按住 Alt-Command ( mac ) + 按钮可以拖动摄像机视点。 Zoom 缩放:按住 Alt+Control+ 按钮可以缩放摄像机视点。 Using the Hand Tool 使用徒手工具 见上文

Zooming with the Mouse Wheel 使用鼠标滚轮 使用鼠标滚轮或者轨迹球可以缩放场景。 Flythrough Mode 飞行模式

Flythrough 模式将使你用第 1 人称(游戏主角)的视角浏览场景。 l 点击并按住鼠标右键。

l 然后可以使用 WASD 键左右前后浏览场景, QE 键则上下浏览场景。 l 按住 Shift 键可以快速的移动 Scene Gizmo 场景标志

在场景视图的右上角是 Scene Gizmo 场景标志。这个表示场景摄像机当前的方向,并且可用 于快速调整视图角度。

游戏制作者可以点击标志上任一的分支以锁定场景摄像机指向该方向,并切换成

Isometric mode 等距模式。在 Isometric mode 中,游戏制作者按住右键拖动可以旋转,按住ALT 键拖动鼠标可以摇移。要退出这种模式,单击场景标志的中心。任何时候,游戏制作者都可以按住 Shift 键点击场景标志的中心以切换 Isometric mode (物体不会因为距离变小)。Positioning GameObjects 放置游戏物体 见上

Unit Snapping 单位锁定

在使用 Translate 工具拖动任意轴时,按住 Control 键(苹果 Command 键)可以按照设定的 增量进行变换。该增量数值在 Snap Settings 中设置。

使用 Edit>Snap Settings 菜单,在对话框中可以修改增量的单位距离。 Surface Snapping 表面锁定

在使用 Translate 工具拖动中心时,按住 Shit+Control (苹果是 Command )键可以将物体锁定 在任何碰撞体的交叉点上。表面锁定可以快速将物体放置在准确位置上。 Look-At Rotation

在使用 Rotate Tool 旋转工具时,按住 Shift 和 Control (苹果上是 Command )键,可以使物 体沿着任何碰撞体的表面朝向一个点旋转。这很容易使物体的朝向与其他物体相对一致。 Vertex Snapping 顶点锁定

游戏制作者能够使用 Vertex Snapping 顶点锁定功能轻松地创建游戏世界。这个功能虽然简

单,但却是是 Unity 的强大工具。该功能可以使游戏制作者从给定的面片物体上选择任何顶点,然后使用鼠标拖动该物体,将此物体上选定的顶点与其他面片物体上选择的顶点相对齐锁定。利用此功能可以快速的创建游戏世界。例如,游戏制作者可以放置公路到一个赛车游戏中,并且将公路与其他面片物体的顶点高精度的焊接在一起。使用顶点锁定组装公路

在 Unity 中使用顶点锁定很容易,参看下列步骤。

l 选择要操作的面片物体,并确认 Transform Tool 处于激活状态。 l 按下 V 键,激活顶点锁定模式。

l 在面片物体上移动鼠标滑过顶点,以选择作为中心点的顶点。

l 一旦鼠标处于想要的顶点上方,则按下鼠标左键拖动该物体到其他物体想锁定的顶 点上。

l 当达到需要的目的,则释放鼠标左键和 V 键。 l Shift-V 是此功能的开关快捷键。

l 游戏制作者可以将顶点锁定到顶点,顶点锁定到表面,中心点锁定到顶点。 View Modes 视图模式

30


unity3d脚本(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小电流输出设备的电流回检解决方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: