过场动画编辑器教程
基础知识
星际争霸II过场动画编辑器(CutsceneEditor)是一个直观的脚本动画序列编辑器。你既可以用它来制作如同战役模式中那般完整的过场电影,也可以用它来表现游戏过程中的一些小规模一次性事件。
界面介绍
- 文件库——列出了所有可以添加到当前场景中的资源。
- 场景对象列表——显示了地图中所有已保存的场景,以及每个场景中所包含的对象。选中列表中的某个对象会将其显示在时间轴窗格中。
- 时间轴树——场景中所有被选中的对象都会显示在时间轴树上,在这里你可以进一步访问每个对象的附加属性,如当前被激活的动画层,对话的台词,对象的空间位置等等。从时间轴树上你可以知道场景中的对象都是些什么。
- 时间轴——显示了所有发生在场景中的动作以及当前时间。你可以通过移动或缩放时间轴上的方块来调整动作的起止时刻和持续时间,也可以通过移动标尺上的指针来调整当前时间。从时间轴上你可以知道场景中的动作会在何时发生、何时结束。
- 视口——默认的三个的视口方便你从不同的视角观察场景,你可以在视口中点选、摆放或是旋转对象。你也可以通过“窗口->显示窗格”来关闭某些视口。
- 属性面板——列出了当前所选对象的所有属性,你可以双击某个属性值对其进行修改。
文件库
你可以通过双击左上方浏览器中的对象名称来将其添加到场景中。列表会显示当前选项卡中包含的所有对象(模型、单位、音效、文档和对话)。
如果某个应该存在的对象没有显示在列表之中,有可能是你选用了错误的地图,或是没有加载地图依赖项。
在文本框内输入字符即可筛选列表中的内容,所有包含输入字符的对象名称都会被显示在列表当中。
你还可以通过点击左下方的按钮将对象列表切换为树状图。
导入对象时,所有的对象数据会一起被加载,以模型为例,表情控制器,额外动作文件,拟音事件等数据都会被加载。如果你想添加一个没有关联数据的纯文件,你可以去文档选项卡中搜索它,该选项卡中包含了所有可添加到场景中的单独文件。
除非你有特殊的需求,否则不建议添加文档类的对象。在绝大多数情况下,使用现成的数据模板是更好的选择。
视口
你可以从视口中观察当前的场景并对其进行编辑。默认界面下有三个视口,你可以通过设置“窗口->显示窗格”来改变视口的个数。
当前活动的视口会被黄色边框标记。针对视口的指令只对当前活动的视口有效(如改变镜头或设置视野选项)。
你可以通过设置“渲染->显示帮助->显示修饰”来在某个指定的视口中调试对象。
镜头控制
过场动画编辑器支持两种不同的镜头控制方案——编辑器(Editor)与备选(Alternate)。“编辑器模式”的控制方式与地形编辑器相同,但增加了自由镜头控制模式(用鼠标中键控制)。
自由镜头控制通常用于场景游历,这种控制方式允许任意的镜头移动,就算在小型场景中也能应用自如。自由镜头控制方法如下:
- 点击中键:沿地平面平推镜头
- Shift+中键:缩放镜头
- Alt+中键:全视
- Ctrl+Alt+中键:自由视角
- Ctrl+中键:平摇镜头
- Ctrl+Shift+中键:调整视野
- Alt+Shift+中键:滚动镜头
- 点击5键:将镜头目标设为鼠标位置点
你可以随时通过设置“文件->配置控制”来修改你的镜头控制快捷键。
场景对象列表
在你的地图中,所有的场景和场景中的对象都会显示在场景对象列表当中。对象可以是模型、音效,镜头、引导器或其它类型的资源。
在同一时刻,你只能选择一个场景作为当前的活动场景,右键点击场景选择“激活过场动画”来将其设为活动场景。你也可以通过右键点击场景目录来添加新的场景。
在默认情况下,场景对象列表中总会出现一个名为“预览器”的场景,该场景不会随地图保存,仅用于预览资源。
请记住,包括“打开”和“新建”在内的所有操作都会对场景造成改动。除非你在提示框中选择“取消”,否则这些操作会覆盖现有的场景。
当你新建或载入一个过场动画时,你会被问及“你想要将场动画添加到地图里吗”。所有在地图中播放的过场动画都应当事先被添加到地图中。然而,过场动画编辑器也支持加载独立的SC2Cutscene过场文件,这可以让你不用导入这个过场动画文件就能预览它的内容。通过观察一个文件在场景对象列表中属于哪个文件夹,你可以分辨出该文件究竟是独立的松散文件,文档文件还是依赖项文件。
只有文档文件夹中的过场动画才会随地图被保存。
场景对象列表也可以用于筛选时间轴上的内容。在场景对象列表中,没有被选中的对象都不会出现在时间轴上。这有助于你集中关注当前正在频繁操作的对象。
如果你的地图中有许多过场动画文件,你可以使用场景对象列表上方的“切换是否只显示活动的场景”按钮来隐藏当前不活动的场景。
时间轴树
所有在场景对象列表中被选中的对象都会出现在这里。在时间轴树上,父节点表示对象,子节点表示这些对象做了些什么或在它们身上发生了什么。例如,演算体SMX1KerriganDezerged能有一个“动画层”子节点,这个子节点表示了该演算体会播放某些特定的动画。
你可以通过右键点击对象并选择合适的节点来为对象添加更多的子节点。不同类型的父亲节点所能拥有的子结点类型也不同。比如一个陆战队员演算体可以有“对话”类型的子节点,而一个音效类的对象通常可以添加一个“属性值 - 音量”节点作为子结点。
时间轴树上的每一个节点都有各自的右键菜单,允许你对该节点进行指令操作。时间轴树上的节点也支持多重选择。
你可以对节点进行复制/粘贴操作。在你复制一个子节点时,它只能被粘贴至与它的类型相兼容的父节点下。比如“动画层”节点只能被粘贴到演算体对象下,而“属性– 位置X”则可以被粘贴至演算体、镜头、声音和其它对象下。
时间轴
时间轴上的红色指针指示了当前时间。你可以在标尺上点击或者拖拽指针来改变当前时间,视口中所有的对象和属性值都会随之变化。
你可以通过空格键来控制场景动画的播放和暂停。暂停恢复后,动画会继续播放直至场景结尾(或某个场景结束标记处),之后又从头开始循环播放。
滚动鼠标滚轮可以缩放时间轴,点击鼠标中键并拖拽可以左右平移时间轴。
最后,你可以按住Shift键并在标尺上拖拽来高亮显示时间轴上的某个区间,某些特殊的操作指令只适用于这种区间(见下文)。
时刻关注时间轴上的红色指针,它代表了“当前时间”。很多操作都是基于当前时间来进行的,比如添加元素或是自动关键帧。场动画编辑器本质上是一个时序编辑器,所以时值至关重要。
时间轴元素
所有对象、事件和可变属性都会在时间轴上反应其变化。最主要的时间轴元素类型有两个——事件和时间块。事件会在特定的时刻激发单个动作——如镜头剪切,发送演算体消息或是放置标记等。
时间块代表一段持续的时间,例如动画持续时间,对象生存期、台词的起止时间等。
你可以通过点击和拖拽来移动时间轴上的所有元素,也可以通过拉伸时间块的左右边缘来改变其尺寸。按左右方向键可以以每次一个像素的幅度微移选中的时间块,按Ctrl+左键或Ctrl+右键则可以以每次5个像素的幅度进行微移。时间的实际变化值是根据当前标尺的缩放等级来决定的。
时间块之间不能相互叠加,当你移动一个时间块时,它会被邻近的其它时间块挡住。事件则不然,在移动事件时候,它可以穿越其它事件,只不过当你把某个事件放置在另一个事件上时,它们会合并成一个单独的事件。
你可以对时间轴元素进行复制粘贴的操作——粘贴的位置基于当前时间指针,粘贴时间块操作会分割并覆盖该处业已存在的时间块。
从时间轴的空区域中可以拉出一个选框,你可以用它来选中多个时间轴元素并同时对它们进行操作。你也可以用Shift+单击来选中一定范围内的元素,或者通过Ctrl+单击来依次点选若干个元素来完成复选。
幽灵模式
如果你想移动一个时间块,而不被另一个时间块所阻挡,你可以选用幽灵模式(Ctrl+G)。在幽灵模式下,你可以越过其它时间块来对某个时间块进行移动或缩放操作。当你完成操作松开鼠标时,所有沿途的其它时间块都会被切除,以便为新的时间块让出空间。
进入幽灵模式的方法是点击时间轴树窗口右侧的幽灵模式按钮。如果你移动时间块时,出现了黑色轮廓,表明你已经进入幽灵模式。点击移动模式(Ctrl+M)按钮可以在幽灵模式的状态下切换回移动模式。
在移动或缩放时间块的过程中同时,你可以按住Ctrl和Shift键临时进入幽灵模式,这只会影响当前操作。
自动对齐
在移动时间轴元素时,它们会试图吸附并自动对齐到指针或者其它元素的边界上。
锁定至结尾
大多数的时间轴元素都会自动锁定至结尾,这意味着如果过场动画的结束时间发生改变,这些元素也会随之更新进行匹配。每个锁定至结尾的元素都会有一个紫色的后盖,当结束时间发生改变时,它们也会随之变化。
要解锁这个状态,只需右键点击该元素,取消“锁定至结尾”即可。在解锁状态下,元素的末端仅在你移动它时才发生改变。另外,整个场景的结束时间不能早于任何一个已解锁元素的结束时间。
一个不可见的元素同样会阻止你改变场景结束时间,如果你发现你无法提早场景的结束时间,那么某处肯定有一个这样的不可见元素妨碍了你的操作,你得回头找到这个元素,锁定它或是将它移走。我们希望能在未来改进这项功能。
播放过场动画
保存操作将生成一个.SC2Cutscene文件并存入地图当中。这是一个普通的XML文件,用来描述你的整个过场动画。
如果你知道自己在干什么,你也可以手动编辑一个.SC2Cutscene文件,不过会有不少拦路虎等着你!一个格式错误的XML文件将不能被编辑器加载。
一旦过场动画被保存,你就可以通过触发器中的“创建过场动画”动作来在地图中播放它。在设置该动作的“文件”参数时,从“值”标签中选择你想播放的场景动画即可。当自动播放启用时,场景即可立即播放。
如果你不想让你的场景动画在默认位置播放,你可以通过“在位置点创建过场动画”来为它指定播放的位置和朝向。
你可以用“上一次创建的过场动画”函数来获取该过场动画的ID,这样你就可以进一步对该场景动画进行操作,比如暂停、设置时间、跳转到标记处等等。
当场景动画播放至任意一个书签处时,都会激发一个可被触发编辑器监听的事件。这样一来,游戏也能对过场动画的播放做出响应。当动画播放完毕时,也会触发类似的事件。
过场动画事件会针对每个正在观看中的玩家逐一触发,如果你的本意是想等所有玩家都观看到某个标记处后才执行动作,那么请务必记住这一点。
对象
场景中的对象包括演算体(即模型),镜头,音效以及其它任何用于该场景的资源。
操作
所有的对象都可以通过操纵器来对其进行摆放,旋转以及缩放。首先,选中你想要操纵的对象(在时间轴树或视口中单击)。在默认情况下,出现的将是平移工具,它能让你沿着任意方向平移你选中的对象。
你可以通过“渲染->显示帮助->显示选取高亮”来突出你选中的对象。
你无法在过场动画播放的过程中对某个对象进行操作,所有操作都必须在暂停的状态下才能进行。
接着你可以拖拽操纵器上的任意一个方向轴或平面来平移对象。
这里有四种操作模式供你选择,分别是选择、平移、旋转和缩放,其快捷键分别为Q、W、E、R,与3dsMax的操作模式相同。
当处于选择模式下时,你仍可以通过Ctrl+单击来旋转对象,或是通过Ctrl+Shift+单击来移动对象。
你可以通过“编辑->栅格对齐”使对象在移动时吸附到网格。
镜头眼操纵器模式 vs. 目标操纵器模式
对于某些既定的对象,比如镜头和点光源,允许你分别对其镜头眼和目标进行操作。你可以通过“编辑”目录或是工具栏里的按钮进行这些操作:
在默认的普通模式下进行平移操作时,镜头眼和目标会被同时移动。而在镜头眼操纵器模式下,你只能平移镜头眼,反之,在目标操纵器模式下,你只能移动目标点。 生存期
场景中的每个对象都有其生存期。对象的生存期通过生存期方块来表示 请尝试着清除冗余的对象,尽量只保留有用对象以提高过场动画的演算效率。
如果你无法找到一个本该出现在视口中的对象,请确认它当前没有被禁用、隐藏或超出生存期。
文件夹
你可以利用文件夹来对节点进行编组。点击场景对象列表上方的“添加文件夹”按钮即可将文件夹添加到你的场景。某些指令可以对文件夹下的所有的子项进行操作,例如,你可以将文件夹设为不可见,那么它所包含的所有子项都会被设为不可见。
显示标线
你可以在右键菜单中为任何一个节点设置标线。带标线的节点只在编辑器中可见,而不会在游戏中播放。它可以用于观察过场动画其它外部模型混合时的实际情况。
标线通常会用于动画的布景当中。如果这些布景原本就存在于游戏里,你不想让你的过场动画播放时创建新的布景,但又希望能够在过场动画编辑器里预览你的过场动画和布景搭配起来的效果,你就可以为这些布景设置标线。这样它们就只能在编辑器中被观测到,而当过场动画在游戏中播放时却不会创建它们。
锁定
任何节点都可以通过右键菜单或Ctrl+T来锁定。一个锁定的节点将无法在视口中被选中或编辑。该功能经常用于保护布景对象、对话时间轴等容易被误编辑的对象。
如果你锁定一个文件夹,那么该文件夹下的所有子项都会被锁定。
禁用
你可以在时间轴树中通过反选操作来禁用一个节点。对于不同类型的节点,“禁用”的意义也不同。一个禁用的演算体将不会出现在你的场景中;一个禁用的动画层将不再播放它的动画;一个禁用的镜头依然会存在但不再绘制它的镜头模型。禁用的节点在游戏过程中也会保持禁用状态。
动画
你可以通过添加动画层来播放模型动画。所有的模型都会有一个默认的动画层,你可以通过右键菜单来为其添加更多的动画层(Crtl+A)。
你可以通过右键菜单来添加一个新的动画块(Alt+A)。在动画块的右键菜单中你可以修改动画的内容(+/-)。你还可以右键点击动画块选择“重设动画持续时间”来将动画的持续时间恢复到默认值。
在默认情况下,动画块会被添加到当前指针所在的地方,你可以通过设置“动画->添加动画至结尾”来改变这个设定。
Alt+A是一个通用热键,表示将一个元素加入到时间轴里,这个热键同样适用于书签、属性层以及其它大多数节点。
当你有多个动画层时,如果某个动画块覆盖了不同的动画层,那么优先级最高的动画将被播放。这可以用于在整体动画播放的时候进行局部动画播放(比如在走路时在脸上表现出“愤怒的眼神”)。
当你缩放一个动画块时,并不会让这个动画播放得更快或者更慢。它仅仅只是改变了动画的持续时间。动画的循环周期是通过动画块上的垂线来表示的。你可以使用Time Scale属性来设置动画的播放速度。
混合
默认情况下,动画会有150毫秒的预演时间。它表现为动画块起始端的灰色渐变。混合时间可以通过修改属性表里的值来进行设置。一段动画会同时具有混合淡出时间和混合淡入时间,用来表现动画与动画之间的过度状态。
起始偏移
默认情况下,动画从序列的0时刻开始播放,而起始偏移可以使动画从指定的时刻开始播放。
M3A文件
你可以将M3A文件添加到演算体中。首先,选中演算体,然后在文件库中找到对应的M3A文件,双击这个M3A文件,就可以将其导入到选中的演算体中。由M3A文件所导入的模型动画可以立即被使用。
将M3A文件的导入到模型的操作是全局性的,这意味着之后所有相同模型都将拥有导入M3A文件后的新动画。
镜头
你可以通过“对象->添加节点”(Alt-X)来将镜头对象添加到场景当中。此时,新添加的镜头与当前活动视口具有相同的视野。
通过右键菜单,你可以透过任何镜头来观察场景,或是将镜头视野调整为当前视野。快捷键V和Alt+V也能实现同样的功能。
你可以即时地通过右键菜单中的“编辑镜头”来对镜头进行编辑。当你即时编辑镜头时,视口的边框会变成红色,同时,视口左上角的镜头名称旁会出现“EDITING!”字样。在即时编辑状态下,视口的任何变化都会被应用到正在被编辑的镜头上。
记得在即时编辑结束时关闭它。
镜头编辑器(查看->镜头编辑器)不仅可以对镜头进行微调,还可以访问那些无法在视口中进行修改的镜头参数(比如景深)。
引导器用于管理当前活动的镜头,详情见下文。 你可以在查看(View)菜单下启用宽高比管理项来定义你的场景边框尺寸。
游戏镜头vs. 目标镜头
你可以创建两种镜头——游戏镜头或目标镜头。这两种镜头的属性参数不同,播放方式也不同。 游戏镜头是经典的镜头类型,包含了对象的位置以及镜头的横摇、纵摇、翻滚、距离等属性。 当动画播放时,这种镜头能更好地完成轨道运动,例如用全视角拍摄某个对象。 目标镜头需要用两个特定的点来指定,一个是“镜头眼”,另一个是“目标”,镜头眼总是直视着目标。这种镜头能更好地处理推摄、摇摄或者其它线性运动。
引导器
引导器是一个用来管理场景自身的特殊对象。它可以管理当前活动的镜头,场景的结束,以及任何环境变化。你可以通过“对象->添加节点->引导器”(Alt+D)来添加一个引导器。 活动镜头
引导器最常用的功能就是用来设置活动镜头。你可以从引导器的右键菜单中添加一个活动镜头节点。 右键点击活动镜头层会弹出“添加镜头剪切”的菜单,这个菜单会列出当前所有可用的镜头——包括所有的镜头对象和模型的内置镜头——选择其中的镜头并将其添加到活动镜头层的指针处。 一旦你设置了一个活动镜头,它将会覆盖游戏内的镜头。如果你不希望你的过场动画镜头影响到游戏内的镜头,就不要设置活动镜头。
当镜头被激活后,视野将随之变化。当你转换到另一个镜头时,视野也会瞬间完成切换。 确保你的镜头在整个活动期间都处于生存期内。
引导器窗口
引导器窗口可以用来展示场景在游戏当中的播放效果。在“查看”菜单中打开引导器窗口,这个窗口的镜头会被锁定为活动镜头,所有的调试信息、操作和帮助信息都不会在这个窗口中显示。 你可以在引导器窗口的视口目录中自定义窗口的尺寸和宽高比。如果你改变了视口的尺寸,你可能需要重新设置引导器窗口的尺寸以便观测到全景。
引导器镜头
你可以在任何一个视口中以引导器的视角来观察场景。按快捷键D或者在“查看->镜头”菜单中选择“引导器”来完成此操作。 将其中一个当前活动的视口设置为引导器镜头是一个很好的做法,这样一来你就可以随时以引导器视角来观察场景。
活动光源
引导器也可以用来控制场景中的环境光源。右键点击引导器选择“添加活动光源节点”来添加一个活动光源。类似于活动镜头节点,你可以通过该节点来切换和混合各种不同的光源。 活动光源节点既可以使用数据光源(可在光源窗口中找到)也可以使用场景中的环境光对象。如果想使用一个数据中已经存在的光源,只要在添加活动光源时选择“使用光源ID”即可。之后你可以在属性表中修改“光源ID”属性。或者,你也可以从右键菜单中选择一个场景中已经存在的光源。 更多的相关信息参见下文“光源”一节的“添加环境光对象”部分。 你可以通过设置活动光源的“混合”属性来让一个光源来指定前一个光源变化到新的活动光源的混合过程。
淡化
引导器可以让场景以任意的底色淡入淡出。通过右键菜单可以为引导器添加一个淡化节点。你可以右键点击这个节点来添加一个新的“淡入”或“淡出”事件。淡化事件可以像其它时间块那样被移动或伸缩。右键点击淡化事件可以让其在“淡入”和“淡出”之间转换。 结束场景标记
你可以为引导器添加一个结束场景标记来更好地控制场景的结束。在默认情况下,场景会在所有时间块完成播放后结束,在标尺上显示为垂直的虚线。 若想提前结束场景,右键点击引导器添加一个结束场景节点,接下来,你可以将结束场景标记添加到这个节点里。当时间进行到此处,场景就会结束。 你可以在一个场景中设置多个结束场景标记,它们可以配合书签使用,使你的场景产生不同的分支。比如,你的场景可以包含3个“子场景”,拥有各自的起始书签和结束场景标记。之后,再由触发器来决定跳往哪个子场景的起始书签,当播放至这个子场景的结束场景标记时,整个场景就会结束。
书签
书签是一种通用的特殊时间标记。某些触发器可以用于书签的跳转,当场景进行到某个书签时,触发器系统就会捕捉到这个事件。 为了能直接访问某个书签,你必须为它命名。你可以在属性表中为书签命名(见下文)。
书签可以让过场动画的播放跟随或响应游戏中的事件。上文提到的“子场景系统”就高度依赖书签的功能。从下图你可以看出每个子场景是如何被起始书签和结束场景标记来标定的。游戏将基于逻辑层来决定播放哪个子场景,届时只有那个子场景的部分会被播放。 书签也可以很好地应用于游戏动作的同步,如果你想在过场动画的某个特定时间点隐藏UI或是做出动作,可以通过响应由书签抛出的事件来实现你的想法。 每个播放场景动画的玩家都会分别触发事件,在对书签做出响应时请牢记这一点。
你可以通过“跳到下一个书签”(Shift+PgUp)和“跳到上一个书签”(Shift+PgDown)的命令来让指针跳到相应的书签位置。
主音效
主音效节点允许你指定过场动画的主音轨。它可以让过场动画在播放时保持音画一致。
属性
所有的对象、节点、层和元素都由一系列属性构成。许多属性,例如位置或起始时间,都可以通过操纵器或时间轴进行可视化的操作。但只有通过属性表,你才能对所有的属性进行观察和编辑。 在默认的界面布局下,属性面板会出现在屏幕右侧。如果你像让它变成浮动窗口,可以在“窗口”菜单中选择“属性窗口”。 属性列表所显示的永远是当前所选节点或元素的属性值。 对象的节点和元素是两种不同的存在。节点中的属性用来表示对象“是什么”,而元素中的属性用来表示对象“何时”会这样。
属性值的设置方式非常友好,你可以通过键入“On”和“Off”来设置某些属性值,也可以用“1”或“0”这种等价的数字来代替它们。
属性层
属性层允许你随时间推移来改变属性值。右键点击某个对象,从“添加属性层”子菜单中选择要添加的属性。几乎所有的属性都可以在属性层中动态变化。 属性层可以随时控制某个属性值,你可以在时间轴上添加一个属性关键帧来定时改变某个属性值。一旦属性层被添加,任何属性值的改变都会被发送到属性层的当前帧上。 你可以右键点击一个属性值元素来设置它的变化曲线。这会决定该属性如何从一个值变化到另一个值。 自动关键帧
任何时候,只要你做出变动,自动关键帧都能将相应的层和关键帧添加到当前对象。要启用自动关键帧,只需点击时间轴标尺左边的“开启自动关键帧”按钮。当你的活动视口上出现了一个粗大的红色边框时,表明你已经进入了自动关键帧模式。 自动关键帧启用后,任何属性值的变化都会自动地添加一个新的属性层(除非该属性层已经存在)并在指针处添加一个新的关键帧。如果当前时间非常接近一个已经存在的关键帧,那么后者将被移动到当前位置进行替代。 注意,当自动关键帧启用时,任何属性值的变动都会自动生成关键帧,当你不需要该功能时记得关闭它。
曲线编辑器
默认情况下,所有的属性值都是线性变化的。而曲线编辑器能让你以任何形式设置一个值到另一个值的变化方式。点击工具栏中的相应的按钮即可开启曲线编辑器。 曲线编辑器会显示当前选中的属性层中的所有关键帧。曲线上的每个控制点都代表了对应关键帧的时间和数值。你可以在曲线编辑器中移动这些控制点来直观地改变它们的时间和数值。你也可以通过上方的文本框直接输入这些数值。 如果你看不到某个曲线,请确认它是否在时间轴树中被选中。
你可以通过点击工具栏中的“创建”来添加新的控制点。你也可以通过Shift+左键拖拽某个关键帧来对它进行复制。 当你在曲线编辑器里改动一个值的时候,这个改动也会即时地反映在视口和时间轴上。在曲线编辑器中你可以获得非常良好的操控体验。
视野控制
按住鼠标中键并拖动鼠标可以平移曲线图,用滚动鼠标滚轮来进行缩放。在“缩放范围自定义”模式下可以拉出视野框来观察某个特定的区域。 如果你丢失了曲线的视野,点击“缩放范围X”和“缩放范围Y按钮让视野回到合适的观测位置。
你可以通过启用工具栏上的“显示切线”和“显示值”按钮来观测当前被选中的控制点的切线和数值。 曲线类型
每个控制点的两端都有一种曲线类型。选中某个控制点,然后点击“平滑”、“线性”、“平缓”、“阶跃”或“自定义”按钮来修改曲线类型。通过选择“内”、“两者”或“外”来选择曲线类型的应用端口。 当你选择“自定义”曲线类型时,控制点上就会出现切线控制器,你可以通过它来精准地控制曲线是如何进出控制点的。 光源
可被添加到场景中的光源有三种:泛光,点光源和环境光。
泛光和点光源
泛光和点光源可以通过“对象->添加节点”被添加到你的场景当中。泛光会向所有的方向发光(就像电灯泡一样),而点光源的光源方向是一个朝着特定方向的锥体(比如聚光灯)。
光源和其它对象一样,都有位置和旋转的属性,还可以被染色。此外,光源还有一些独特的属性:
环境光遮蔽
决定该光源是否受环境光遮蔽的影响。(需要将渲染器设为极高)
衰减起始
决定光线从什么距离开始衰减。对泛光而言,它影响的是光线辐射半径;对点光源而言,它影响的是光线从光源向目标的照射距离。
低衰减
高衰减
颜色倍数
实际上是光源的强度。为0时禁用光源,小于1时光源暗淡,大于1时候会额外的明亮。
低色彩倍增 高色彩倍增
衰减
仅用于点光源,用来表示点光源完全变暗的距离。
热点
仅用于点光源,用来表示中心亮斑还未开始衰减时的尺寸。
热点(小) 热点=衰减 衰减(大)
光源范围
对泛光而言,它代表光源的半径,对于点光源而言,它代表从光源到目标的距离。
投影
仅用于点光源,用来决定是否让一个光源产生投影。需要中等或更高的光照效果。
镜面光
是否让一个光源产生镜面光。(需要超高光照效果)
镜面光颜色
镜面光的颜色,仅在镜面光启用时有效。(需要超高光照效果)
所有光源的参数都可以动态变化,享受光源的乐趣吧!
环境光
环境光控制着场景中三个方向上的光源(主光、填充和背光),以及整个过场动画的HDR和染色。它们正是你在光源窗口中能看到的那些光源。
同一时刻只能有一个活动的环境光,由引导器通过活动光源节点来进行控制(见上文)。
你可以使用数据中已经存在的光源,你也可以通过“对象->添加节点”来添加一个新的环境光节点到你的场景当中。
在被激活之前,环境光节点不会对场景产生效果。
环境光并不是场景中的对象——它们没有位置和生存期,它们只是存在于场景之中。
一旦环境光被添加,你就可以通过属性表对它的八十多项属性进行修改,这些属性大多数可以动态变化。当然,用光照窗口对它们进行编辑是最简单的,你可以通过“窗口->光照”菜单来访问光照窗口。
在光照窗口打开的情况下,你可以选中过场动画中的一个环境光节点,此时光照窗口就会显示出该节点的各项可编辑属性。当你对自己的修改感到满意时,你就可以通过“数据->设置过场动画光照”来让这些改动对所有选中的环境光生效。如果启用了自动关键帧,那么所有的改动都会生成对应的关键帧。
虽然光照窗口的数值改动会即时地在视口中显示出来,但这并不代表你已经保存了这些改动。请确保你已经做过了保存的操作。
记住,当光照窗口打开时,它会控制你场景中的光源。当你需要使用活动光源节点来控制场景光源时,你要先将光照窗口关闭。此外,在“渲染->光照”菜单下确保你的光源模式被设置为“默认光源”。
音效
通过文件库中的音效选项卡可以将音效添加到场景中。音效元素会被添加到当前时间指针所在的位置。
有多种变化的音效在被添加时会随机选择其中一种变化,之后每次都会播放相同的音效。你可以在属性表中改变音效的变化种类。
音效包含音量和音调的属性。音量可以像其它属性一样动态变化,但音调不行。
记住3D音效需要定位。你可以像移动其它任何对象一样来移动音效的位置。如果你听不到某个声音,可能是因为你的镜头离音效太远了。
文本
文本节点允许你将文本添加到场景中。这些文本对象像其它所有对象一样有自己的位置。但它们永远朝向镜头,而且无论你的镜头推进还是拉远,文字的尺寸永远固定不变。它们有标准对象的所有属性,而且它们可以被动态改变、附着或放置到路径上。
你可以在文本节点的“文本 - 文本”属性中输入一些可以自动替换的动态标签。目前可用两个标签是:
(frame)- 显示当前帧数 (time)- 显示当前时间
大小写不敏感,但一定要加括号。
你也可以用任何可用的文本标签来实现颜色设置、图片添加或其它常用的文本功能。
对话
对话层用来指定角色的对话。首先在演算体的右键菜单中为它添加一个对话层。
当对话层被选中之后,所有被添加到场景中的音效都会被当成对话,进而以对话块的形式加入到对话层中。当场景进行到这些对话块时,音效就会被播放出来,如果存在表情动画和字幕,它们也会被同步播放。
若要将为对话层添加对话块,必须先保证对话层已被选中。否则,新加入的音效只会被当成一般的音效对象。
对话驱动器
你可以从文件库中为引导器添加一个对话驱动器节点。它能为场景中的某个区域指定相应的对话台词。
若要添加台词,右键点击对话驱动器节点选择添加台词。这个操作会打开对话导入窗口(见下文)。
当一个对话被用于驱动某个过场动画时(通过数据编辑器实现),这段动画会自动在游戏中播放。对话引擎会通知对话驱动器节点按照对话的进程来播放台词。当一段台词播放完毕后,对话驱动器会立刻被告知,进而选择下一段台词,然后跳转到相应的过场动画。
场景中的对话台词不一定要按照播放时的次序来排列。但是当台词排列正确时,过场动画会继续播放而非跳转到下一段台词。因此,为了避免编辑时出现混淆,最好将台词按顺序排列。而在数据编辑器中改动台词的次序并不需要你重新生成一次过场动画。
导入对话
向对话驱动器中添加台词时会开启对话导入窗口。它会列出驱动器所链接的对话数据中的所有台词。选择你想要添加的台词然后点击导入来将其添加到你的场景中。
新的台词会按照它们在过场动画中的显示次序被添加。
在添加台词到驱动器的时候,导入器会尝试为你构建场景。被添加的台词会完成以下的工作:
- 按照音效的持续时间将台词添加到对话驱动器中。
- 如果找到了“讲话者标签”相符的演算体,台词就会为该演算体的对话层添加相应的时间块和动画。
- 如果找到了名称相符的镜头,那么在播放台词的时候就会将那个镜头设为活动镜头。
- 建立所有的连接。
由此创建的场景应该是所见即所得的。这仅仅意味着一个开始——之后你可以以任何方式编辑你的场景。
由于对话是同步的而过场动画是异步的,所以当对话播放时可能会有小小的延迟。所以尽量避免在对话的最后100毫秒出现关键帧。
附着
你可以将任意对象附着到包括模型附着点在内的任意其它对象上。右键点击对象并选择“附着到”就会出现所有对象和它们的附着点(如果有的话)列表。
当某个对象被附着另一个对象上时,一个新元素就会被添加到时间轴里。附着状态只在这个元素的持续时间内有效。
你可以在附着元素的属性中指定偏移和旋转值。你也可以指定是否要继承主体对象的比例和可见性。
系统会自动防止循环附着。如果你在附着对象列表中看不到某个模型,要么是它本身没有附着点,要么就是会引起循环附着。不要尝试通过编辑XML文件来强制进行循环附着,那真是自寻死路。
从文件标签中添加的纯模型文件并不包含额外的模型数据。因此,它们将强制继承宿主的比例和可见性,各类偏移也不再生效。
注视
注视允许你用合适的数据来让故事模式中的角色向任何对象或附着点。它可以用来使角色朝任何方向看去,还可以用来模拟摆头、点头或者摇头。
注视的设置方法类似于附着。只需要右键点击你想要表演该动作的演算体,选择“注视”然后选择目标就可以了。当注视元素生效时,角色的视线会跟随目标,你可以随意地变动目标的位置,注视者的视线会一直跟随。 你可以通过右键点击注视元素来修改注视类型。注视的类型包括注视混合的速度以及角色朝某个方向注视的强度。 眼睛和头部可以分别注视不同的对象,可以表现出“一瞥”或“目光先至”的效果。
路径
你可以通过“对象->添加节点”来添加一个路径节点。路径节点用来定义一条可供任意对象行进的路径。 在路径节点被选中的情况下,将笔刷改为“路径标记放置笔刷”(下图右边的按钮):
选用这个笔刷后,左键点击场景的任意位置就会添加一个路径标记。每一个路径标记定义了路径上的下一个点。你可以在左下方的时间轴树中改变路径标记的次序。
如果将笔刷改为选择模式,你就可以通过点击选中某个路径标记,或是用操纵器工具来移动它。
建立好路径之后,你就可以对某个对象使用“添加跟随路径”来让它在这条路径上行进。如果要为其指定何时走哪条路径,就添加一个路径块。
当路径块被激活后,对象就会在路径上行进。在默认情况下,对象的移动速度取决于当前的模型动画。例如,当播放“行走”动画时,陆战队员可以在路径上行进,但当播放“站立”时,他就不会沿着路径行走了。所有的动画块都有一个“移动速度”的属性值,你可以在属性表中修改这个值。 你可以利用路径标记两端的切线工具来修改路径曲线的形状。 跟随地形
默认情况下,对象严格依照设定在路径上行进。你可以通过将“混合地形”属性值调为1.0来迫使它们贴地行走。当跟随地形启用时,对象的高度取决于地形高度,而非路径高度。不使用路径的移动同样也遵从这一属性,将混合地形属性值设为0到1之间的任意值可以决定过渡到完全跟随地形或是从完全跟随地形过渡到自定义高度的平滑幅度。 总是指向上方
默认情况下,对象在行进时会顺着地形起伏而前俯后仰,如果你希望对象永远直立行进,就在跟随路径块上设置“总是指向上方”这个属性。
启用片段
你经常需要在某个特定的镜头被激活时才显示或隐藏某些对象。例如,如果你为每个镜头角度都设置了独立的自定义光源,或是某个镜头被其它对象挡住了。这时候你就可以用到这项特性,根据当前的片段自动显示或隐藏某些目标。 右键点击对象选择“为片段启用...”并勾选镜头名称,这样就可以让对象只在所选的镜头中被激活。你也可以通过选择“当前的片段”来将当前活动镜头作为对象的激活镜头。 当这些镜头处于活动状态时,这个对象就是可见的,而对于其它没被勾选的镜头,该对象就不可见。这个效果同样会反映在时间轴上,未被启用的片段是灰色的。 你可以通过“复制/粘贴启用片段”来更便捷地将一个对象上的活动镜头应用到另一个对象上。 过滤器你可以为对象添加一个过滤器,这样它就只会在相应的情况下被激活。例如,如果你希望在玩家获胜时亮起绿灯或在失败时亮起红灯,你就可以通过过滤器来实现。 首先,为你的场景添加2个光源。然后分别在它们的过滤器属性中写上“red”和“green”。一般来说,两个光源都是可见的,但如果你在触发器中设置了过滤器,那么只有符合过滤条件的光源才会被点亮。这样,当你播放过场动画时,你就会看见光源按照预期的设定而发光。 如果你想看看你的场景在不同的过滤器下有哪些不同的表现,就可以在引导器中设置“节点 - 过滤器”属性。这个属性不会被保存——它仅用于预览在给定的过滤器下场景看起来是怎样的。 迷雾你可以通过添加一个迷雾节点(对象->迷雾)来为场景添加迷雾动画效果。迷雾一旦被加入,你就可以像对其它任何对象那样设置它的所有参数。 渲染到贴图“渲染到贴图(RTT)”允许你将某个镜头的视野渲染到一张贴图上。这个技术非常适用于表现电视屏幕、镜面以及其他类似的东西。 渲染到贴图只能用于“战役模式”的渲染方式。在过场动画编辑器中,可以通过“视图->战役模式”来实现。在游戏当中,你需要添加触发器“启用剧情模式”。
一个RTT节点定义了“哪个镜头控制哪个通道”。一共有7种不同的通道可供控制,而RTT模型上的材质通常会被设置到一个特定的通道。你可以通过右键菜单来修改RTT节点所控制的通道。
一旦通道被设定好,你就可以添加一个时间块,用来定义何时将哪个镜头绑定到该通道。在时间块被激活的情况下,相符的镜头会将它的视野渲染到RTT节点的通道,这会影响到所有有着正确通道设置的RTT模型。在实现这些之前,你可能需要积累一些经验。
目前只有模型内置镜头才能用于RTT(即无法使用镜头节点),有些模型仅仅只是一个镜头,可以好好利用。
连接时间轴元素元素之间可以通过相互连接来建立时间关系。当你想让元素之间的时间距离保持固定时尤为适用。这种关系即使在资源因为本地化的原因被改变时依然能够保持。 添加链接
要链接对象,将时间轴改为链接模式。之后你就可以从时间块上拉出连接线来将需要连接的元素首尾相连。这会使前一个元素被锁定在后一个元素上。 在上面的例子中,如果你移动或者缩放书签,那么无论是结束场景标记还是动画都会随之移动,以此来保持固定的时间间隔。 最重要的是,如果它们被连接到一段对话台词上,而这段台词在不同的语言环境下的持续时间也不同,那么间隔依然会被保持。你可以为一个完成的场景设置一整条链接,来保证所有的镜头、动画、台词以及其它时间相关的事件在因为本地化而改变持续时间之后仍能恰到好处地播放。 已链接的对象都会被画上一个特殊的后盖。启用“查看”菜单中的相关选项来观察连接线。 你可以分别链接一个时间块的头部和尾部。这将使时间块被拉伸或压缩到一个相应的尺寸。
在场景完成度较低时,最好避免过于复杂的连接线。一旦链接确立,想要移动某个时间块可能是非常困难的,因为这个操作可能会造成连接链中的某个时间块覆盖到其它时间块上。
移除连接
你可以通过选择某个元素并点击“链接模式”按钮后面的“移除链接”按钮来移除一个连接。 高级时间轴功能时间轴还具备一些高级的编辑特性。大部分特性是针对时间轴上的某段区间来进行应用的。你可以按住Shift并在时间轴标尺上拉出一段区间,也可以利用指针配合快捷键I和O来设置区间内端和外端的标记。 时间区本身并不会对场景造成任何影响。如果你希望将指针的活动范围限制在区间之内,可以在时间轴树上方点击“切换是否在内外标记间循环播放”按钮。那么当指针走到区间外标记时,它又将跳回内标记处循环播放。你也可以通过快捷键Alt+I和Alt+O来使指针跳往区间的内标记和外标记处。 分割时间块
你可以通过对时间块进行分割来移动或是删除某些时间段。要分割区间中的一个时间块,选中时间块然后选择“分割所选时间块”(Ctrl+K),这个时间块就会沿着指针被分割开来。 使用“分割所有的时间块”(Ctrl+Shift+K),可以沿着指针分割所有的时间块,这也包括目前未启用的时间块。
包括动画块和音效块在内,大部分时间块都会在被分割后自动修正后一个时间块的起始偏移值,所以分割操作不会影响到游戏中的实际的播放效果。
对象生存期块不能被分割,因为一个给定的对象只能有唯一的生存期块。
非线性编辑
你同样可以使用时间区间来添加或删除过场动画中的时间,在一个时间区间被选中的情况下,你可以通过“插入时间”(=)来在区域中插入一个空白时间块,而之前所有存在于这个区间内的时间块都会被分割并向两边推开。
与之类似,你可以通过“移除时间”(-)来将选中区域内的时间段移除,移除后的空白区域将会被区间外的时间块向内填补。
导入你可以通过右键点击源过场动画,然后选择“导入过场动画”来将其中的对象导入到你当前的过场动画当中。选择你要导入的对象,然后点击导入按钮,就会将一份该对象的备份添加到你当前的场景中。 如果你想重新导入一个发生过变动的对象,在导入时勾选“覆盖”,如果这个对象之前曾被导入过,那么它将会被修改后的新对象覆盖。 引用
你也可以将某个对象引用到当前过场动画中。与复制不同,它纯粹是将其它过场动画中的对象作了引用,如果该对象在源文件中被修改,那么它也会在你当前的过场动画中被同步修改。 用这种方法,你可以创建一个过场动画来作为通用的镜头库使用。这样,当你要修改某个通用的镜头设置时,你只需要在源过场动画中进行修改,而不用去所有用到这些镜头的过场动画中一一进行修改。 你无法对引用的节点进行改动。
导出你可以从文件菜单中将你的过场动画导出为一个.SC2Cutscene文件。之后你可以通过“文件->打开过场动画”来打开它。如果你希望将它添加到当前的地图中,在提示框中选择“是”。否则,它会被当成一个独立文件且不会随地图被保存。 地图导入你可以通过点击“导入地形”按钮来将当前已打开的地图地形导入到过场动画编辑器中。导入的具体内容取决于你在的“文件->导入地图”中所勾选的内容。 你无法在过场动画编辑器中编辑地形,当你在地形编辑器中对地形做出修改后,你需要重新导入地图来显示这些变化。
|