Skip to main content

"Movie Editor" User Manual

影视编辑器

概述

(影视编辑器展示图,功能描述及列表导航,影视编辑器的作用,重要性,能做的功能等)

影视编辑器是Flexi引擎编辑器内置的过场动画编辑工具。编辑器通过结合引擎现有的天气系统、全局效果、角色系统、模型动画、摄像机、轨迹曲线等各大功能的属性变化控制,发挥引擎功能系统的特色,实现近乎专业级别的游戏动画效果制作,达到输出游戏内过场动画或输出游戏影视成品的制作目标。

此篇影视编辑器的使用手册,从界面说明、新手入门、功能详细解说等方面,由浅入深循序渐进的对编辑功能进行全面的讲解,相信在阅读完本文档后,会帮助新人快速学习入门,对影视动画的制作流程和编辑器使用细节会有较好的理解。

界面说明

(界面区域划分说明,按钮列表、说明、快捷键列表等)

影视编辑器按功能划分主要分为10个区域:

工程相关功能

Create”—— 新建影视动画工程。(如果当前存在已经编辑未保存的内容,则会先提示保存当前工程)

Open”—— 打开影视动画工程。(如果当前存在已经编辑未保存的内容,则会先提示保存当前工程)

Save”—— 保存影视动画工程。

资源相关操作:

Save as”——将动画工程另存为;

Import Movie Objects”—— 将Key帧对象导出的数据重新导入到影视工程中;

Export Movie Objects”—— 将影视工程中选中的Key帧对象数据导出到xml文件中;

Key帧对象树

以树的方式展示影视工程中所有对象属性的Key帧;

摄像机相关操作

Enter The Camera”—— 选择并进入场景上放置的摄像机视角。(如果当前只有一个唯一摄像机,则会直接进入此摄像机视角)

Add Camera”—— 弹出新建摄像机界面。

Edit Camera”—— 弹出编辑摄像机属性界面。

Key帧操作相关

Auto Key”—— 按钮按下时,则开启了自动key帧模式,当角色/模型发生位置、角度、缩放等属性变化时,会在时间轴的当前位置上自动添加KEY帧;

Set Key”—— 手动Key帧,点击后在时间轴的当前指针位置,为当前选中对象同时添加位置、角度、缩放Key帧。

Spherical Key Quick”—— 四元素快速Key帧,适应星球幅度,Key出带幅度的角度Key帧。

Translation”—— 按钮按下时,拖动调整轨迹路径,轨迹整体移动;反之则移动单个节点;默认为按下状态;

Screen Occlusion Setting”—— 黑幕,设置全屏黑色遮罩的淡入或淡出效果。

Auto Key”—— 其他Key帧,包括动作和自定义Key帧。

时间轴

时间轴面板:主要显示当前影视工程的时间范围,动画当前时刻;并提供拖动调整动画当前帧的操作;

Key帧工作区

包含曲线轨道两大面板,可以相互切换;

曲线工作区:主要显示当前影视对象的key帧曲线;支持调整曲线值,曲线曲率等功能;

轨道工作区:主要显示key帧对象树上对应影视对象的详细key帧信息;并提供复制,移动,删除,调整key帧值等操作;

当前对象坐标操作区

显示和编辑当前选中对象的三轴坐标信息;

对象信息区

:显示当前选中对象的类型和对象id;

动画播放控制区

图标名称说明
关键帧模式关键帧模式和逐帧模式切换按钮
开始帧跳到影片的第一帧位置
上一帧跳转上一帧动画(逐帧模式)或者上一关键帧(关键帧模式)动画
播放从指针位置播放影片
暂停暂停正在播放的影片
下一帧跳转下一帧动画(逐帧模式)或者下一关键帧(关键帧模式)动画
结束帧跳到影片的结束帧位置
循环播放开启后会反复播放影片
播放速率设置影片播放的快慢速度
时间设置设置影片时长、帧率、帧间距等数据

工作区切换按钮

曲线工作区和轨道工作区切换按钮。

Label”—— 切换到轨道工作区界面;

Curve”—— 切换到曲线工作区界面;

快速入门

(编辑一个覆盖主要功能、流程、KEY帧类型且内容精简的影视动画完整流程)

概述:本章内容是带您使用影视编辑器一步一步制作一个简单的影视动画工程,在制作的过程中学会影视工程的新建、保存、打开、播放,对象属性、动作的Key帧方式,全局属性的Key帧,摄像机的添加、视角控制,动画效果的修改测试等基本的制作流程。

关键词:影视工程,关键帧,Key帧,对象创建,动作设置,属性Key帧,黑幕Key帧,天气Key帧,摄像机Key,摄像机切换,Key修改,播放控制。

打开Hermes资源工程,并打开资源关卡

打开影视编辑器

在顶部的“Windows”下拉菜单中选择“Movie Editor”选项打开影视编辑器界面

拖动影视编辑器界面上部的标题栏区域,移动并停靠到底部编辑区域,方便场景区域的最大化显示与编辑区的整合,如下图所示:

新建影视工程

点击此按钮可清空当前界面新建一个空白的工程(第一次打开默认为空白新建状态)。

添加对象到影视编辑器时间轴

在大纲中找到Actor1,并双击定位。

同时确保Actor1在场景中是被选中的状态。

然后点击“手动K帧”,此时会在时间轴上自动为当前选中的对象(Actor1)添加当前位置,角度和缩放轨道

设置动作关键帧

重新在影视编辑器时间轴中选中对象(Actor1),然后点击“添加轨道项”,依次选中“其他”-》“动作Key”。

弹出动作选择界面,左侧为之前给角色设置的动作文件中所包含的动作列表,右侧为当前选择动作的预览效果,

我们选择一个待机动作(如这里选择“pe_default_run_bs”动作),然后点击下部的循环关键帧“Circulation Action Frame”,然后关闭窗口。此时Character对象会被添加到影视编辑器左侧的对象树中,展开树节点,会发现增加了一个“desc_action”动作Key帧关键帧节点,

同时,标题栏会显示“*”号提示工程发生了改变,注意保存修改过程。

拖动时间轴上的时间滑块,经过动作关键帧节点,触发动作执行,可以观察到场景上的角色已不是之前的静止状态,开始在执行循环动作,

把时间轴滑块移动到一个新的位置,然后重复上面动作Key帧的步骤,在新位置设置一个跑步动作(这里选择的是“fi_bow_run”动作)的循环动作关键帧,

注意观察场景上角色动作的变化,可拖动滑块查看由站立循环动作转变到跑步动作的变化过程。

设置位移属性关键帧及手动Key帧

目前角色还是在原地跑动,不够真实,我们可以让角色在跑动的过程中进行一段位置的移动,让动作看起来更自然协调,就像真的在地面跑动一样。继续选中角色,先在当前跑动动作帧的位置点击界面上的设置关键帧“Set Keys”按钮,在当前位置记录角色的位移、缩放、旋转状态,注意观察对象树展开节点和关键帧工作区的变化,多出了一些新的属性关键帧,

移动时间轴上时间滑块到一个新的目标时间位置,

点击场景区域右上角的“位移”图标,进入位移编辑状态,然后通过角色身上的三轴辅助编辑器,把角色移动一段距离,反复微调到合适的位置,确定后点击“Set Keys”手动设置关键帧按钮,在关键帧工作区创建新的位置状态关键帧,过程顺序如下图所示:

播放测试影片效果

为了确定播放效果是否满意,可再次移动时间轴上的时间指针滑块,移动到动画开始的位置或你想要开始的位置,然后点击影视编辑界面右下方播放控制区的“Play”播放按钮,开始预览动画播放效果,

修改关键帧位置

如果对刚才关键帧设置的位置不满意,想要调整,可以框选想要调整的关键帧圆点,拖动它们到新的位置即可,

(框选)(框选后移动位置)

通常做法是对某就一个时间点的关键帧进行全部选择,一起改变位置,框选并移动时间轴上的多个小方块即可,此时间点所包含的关键帧原点会跟随一起移动,

(框选)(移动)

这个过程需要反复调整,反复播放预览效果,直至达到自己满意的时间间隔效果。

保存影视动画工程

当动画编辑有一定效果后,为了避免工作成果的丢失,需要时刻保存工作进展,点击影视编辑器左上角的“Save”保存按钮,

第一次保存会弹出保存位置确认窗口,选择合适的位置,输入工程名称,点击“Yes”按钮确认保存,

保存成功后影视编辑器的标题栏会修改成你输入的工程名称。

摄像机创建,摄像机切换

之前在测试动画效果时,视角都是固定的,有时我们需要用变化移动的视角,展示更多样的镜头变化效果,这时就需要添加摄像机对象,播放的时候进入摄像机的视角来观察效果。

点击“Add Camera”添加摄像机按钮,弹出摄像机添加及设置界面,选择在当前位置“Current Location”添加,

影视编辑器左侧对象树会添加一个“LCameraWrapperActor”摄像机对象,并默认进入此摄像机视角,会变成红色,名字被改为当前摄像机的名称,表示当前为此摄像机视角状态。

自动关键帧,切换关键帧,修改关键帧

点击“Auto Key”按钮,把自动设置关键帧功能打开,此时按钮变成红色激活状态,表现为自动KEY帧状态,当对物体进行基本属性改变时会自动记录物体变化后的移动、旋转、缩放等属性。

确保摄像机对象被选中,被进入摄像机第一视角状态,

移动当前视角(即摄像机视角)的位置和朝向,影视编辑器右侧KEY帧区域中摄像机对象会自动KEY帧,展开树节点以查看关键帧,

移动时间轴指针滑块到新的时间位置,同时移动摄像机朝向和位置,让摄像机自动设置两个新的关键帧,如下图所示

拖动滑块查看摄像机的变化效果,如需修改已KEY帧关键帧的属性值,可使用对象或属性节点上的左右箭头切换关键帧,来切换到上一个或下一个关键帧位置

切换到关键帧位置后,可继续调整当前位置的摄像机位置和朝向,关键帧的属性信息会被自动更新。

当反复修改调试到自己满意的效果后,可以点击红色的“Set Key”按钮,恢复按钮的弹起状态退出自动Key帧激活模式,此时再次改变摄像机位置和朝向时,将不会影响关键帧的属性数据。

退出摄像机

摄像机调整完后,我们可能需要退出摄像机继续创建或修改其他对象的关键帧属性,可点击红色的当前摄像机按钮,弹出下拉菜单并选择“Quit The Camera”选项退出当前摄像机视角(也可按快捷键“P”键直接退出),恢复自由视角。

退出后按钮为弹起状态。

切换摄像机关键帧

一个摄像机能表现出连贯顺畅的视角平滑变化效果,但有时我们也希望有多个视角来达到多角度远近上下切换变化的动画效果,这时就需要创建多个摄像机动画,然后在特定的时间切换到指定的摄像机视角,继续播放这个摄像机的动画,我们可以按照以下的步骤来实现。

参考11-13的操作步骤,在不同的时间轴位置建立多个新的摄像机动画,每段动画可以从不动位置做些摄像机的朝向和位移的变化效果,创意自由发挥,如果所示:

点击“Other Key”,选中下拉列表的“Custom Key”自定义关键帧选项,

弹出自定义关键帧设置界面,选择“Switch camera keyframe”选项,然后把时间轴指针滑块调整到需要切换到第一个摄像机的时间位置,在界面中选择“Switch to”下拉菜单到指定的摄像机,点击“AddKey”确定手动设置关键帧,这时在左侧的对象树列表中会添加新的对象“custom_change_camera”,并在右侧关键帧工作区添加新的关键帧。

重复上述步骤,在多个摄像机动画的开始位置设置切换摄像机关键帧,如下图所示:

当影片动画正常播放时,随着播放的进度,遇到摄像机切换关键帧时会自动切换到新的摄像机视角,播放此摄像机的动画,这样就形成了连贯且多变的摄像机动画效果,可点击“Play”播放按钮查看完整的动画效果。

(达到满意效果后,注意及时保存工程,存储自己的阶段性成果。)

数值修改:切换到关键帧,修改数值

如需对以上动画关键帧的数值效果进行微调,可以先用关键帧切换按钮切换到关键帧节点位置,对象或属性后面的按钮,底部的左关键帧控制按钮都可以切换关键帧节点位置,

选中调整对象,切换到需要调整的关键帧位置后,即可调整左侧的属性输入框,可以直接输入精确的数值,也可以通过鼠标点击输入框后上下拖拽鼠标来改变数值微调

黑幕关键帧

影视动画会在游戏中播放,游戏中直接切换到影视动画时的效果会比较突兀,通常的做法是在前后增加转场的淡入淡出黑幕,来平滑转场过渡效果。

还是先把时间轴移动到需要的位置,这里是动画开始的第0帧位置,添加黑幕的入口在顶部的按钮处。

点击此按钮,在弹出的窗口“Global Gradient”下拉菜单中选择“fade in”淡入黑幕效果,“Yes”按钮确认,在工作区底部会增加一个黑幕关键帧(此关键帧为持续关键帧,所以是一条滑块,而不是一个圆点),

切到动画的结束位置,然后增加一个“fade out”淡出黑幕效果关键帧,通过拖拽滑块来微调时间位置,让淡出黑幕的时间结束位置对齐动画的结束位置。

编辑结束记得保存影视工程。

影片播放测试,效果开关

动画制作完毕后可以反复播放、切换视角、屏蔽对象、微调时间和数值等方式来调整效果。

播放控制在底部的播放控制区,具体说明参考“界面说明”章节中的“动画播放控制区”。

屏蔽对象功能可以暂时隐藏当前对象或者开关当前的全局效果。

打开影视工程

影视工程保存后,如需再次观看或者修改之前的效果,就需要重新打开保存过的影视工程,可通过影视编辑器左上角的“Open”按钮打开影视工程。

点击按钮,弹出影视工程位置选择窗口,选择需要打开的影视工程资源,确定后点击“Yes”按钮关闭窗口并打开此工程。

入门总结

本章节讲解了一个数据简单但功能完整的影视动画从无到有的创作过程,让大家对影视动画的制作有个初步的了解。影视编辑器的功能强大,Key帧类型丰富,可以控制的对象和效果很多,随着功能的逐步完善,几乎可以控制整个引擎的所有效果,用来制作更丰富多变的影视动画。如需了解更多,可以查看“游戏对接”章节,了解影视编辑器制作好的影视动画工程如何在游戏中对接播放,实现游戏与影视动画相结合的转场效果。

游戏对接

游戏中播放影视工程流程

首先将用于播放的功能脚本拷贝到项目的脚本目录下。播放功能脚本位于http://engineex.svn.snail.com/engine_lib/vip/flexi_engine/00_flexi_engine/client/unique_editor/pro/lua/pl_movie/movie_play,(未有权限的请自行申请权限)。以Hermes项目为例:

其中,在拷贝的播放逻辑脚本中,“pl_movie\movie_play\movie_demo.lua”为演示脚本,其中包括了影视工程的初始化,播放,暂停,播放结束等事件监听演示。

function test_play(void_name)为脚本入口,其中演示了时间轴的初始化,播放,及事件监听接口的使用。

更详细的API可以参照script\pl_movie\movie_play\movie_api.lua中对接口的说明(均包含接口注释),需要高级扩展时,可直接参照影视C++源码time_axis.cpp中的接口说明(也包含注释)

影视动画类型说明

影视目前支持两种播放方式,直接播放及融合播放(参看“pl_movie\movie_play\movie_demo.lua”)。

直接播放,就是在满足游戏的逻辑需求之后,在需要播放视频的时候直接切换镜头,并进行播放,播放完成后返回玩家原视角。要进行直接播放,只需要在完成时间轴的初始化之后,调用接口load_and_play_project(time_axis, “影片名”, "")即可实现。

要进行融合播放,初始化过程与直接播放一样,只是需要预先加载好工程后,调用融合播放接口function begin_blend(guid)即可。详情见下图:

也可以直接调用load_and_play_by_blend_in,自动加载文件并进行融合播放。(如下图)

影视常用接口说明

--- 创建影视编辑时间轴

function create_movie_time_axis(guid)
函数会返回一个创建好的time_axis对象,如果返回为空则创建失败。

--- 初始化影视动画时间轴配置

function init_time_axis(time_axis)

--- 加载影视文件后自动播放影视动画工程

function load_and_play_project(time_axis, movie_name, default_camera)

其中default_camera默认为””,非特殊情况不需要设置

--- 加载影视文件后自动进行融合播放

function load_and_play_by_blend_in(time_axis, movie_name)

--- 删除时间轴

function destroy_time_axis(time_axis)

--- 注册影视回调

function register_time_axis_callback(time_axis, event_id, lua, func)

事件定义在“pl_movie\movie_play\ const_define.lua”下,除了TIME_AXIS_CALLBACK_PLAY_OVER用于代表影片播放完成之外,大部分事件为内部事件,除特殊无法直接满足的播放需求,需要扩展影视内部逻辑,一般不会直接用到。

游戏中demo例子说明

首先,按照上述说明,准备好脚本。

打开Hermes编辑器,创建一个空LActor,命名为MovieTest,然后将脚本movie_demo.lua挂在到”MovieTest”对象的的脚本组件上。

接着,启动游戏登录。

进入游戏后,可以看到调试影视的简易界面

输入影视工程文件夹的名称之后(需要提前在初始化影视时间轴模块时,设置影视工程资源存放的根目录,参照工作流程截图2),点击播放即可开始影视的播放。

播放完成后,会弹出提示,点击后会回到播放视频之间的画面