Choose your operating system:
Windows
macOS
Linux
在蓝图中使用 Flipbook组件(Flipbook Components) 与在蓝图中使用其他类型的组件非常相似。在将Flipbook组件添加到蓝图之后,除了所有组件可用的标准选项(例如变形)之外,您还可以指定要使用的源Flipbook资源、定义Flipbook的播放速率或调整所使用的Sprite颜色。
在图表选项卡中,您可以通过脚本直接访问和修改Flipbook组件的属性。这包括调整播放速率、播放、停止或反转Flipbook,甚至将源Flipbook更改为不同的Flipbook资源(例如,当您想在一个角色的Flipbook动画之间切换时非常有用)。
本页面将向您展示如何在蓝图中添加、访问和修改Flipbook组件。有关Flipbook本身的更多信息,请参阅Paper 2D Flipbooks文档。
添加Flipbook组件
您可以从蓝图的 组件(Components) 窗口向蓝图添加Flipbook组件。
在蓝图中,在 组件(Components) 窗口中 单击 添加组件(Add Component) 按钮,搜索并添加一个 纸质Flipbook(Paper Flipbook)。
添加Flipbook组件后,系统会提示您输入组件的名称。
然后,您便可以在 详细信息(Details) 面板中开始调整Flipbook组件的属性。
您还可以使用 蓝图/添加脚本(Blueprint/Add Script) 选项将Flipbook组件添加到蓝图中。
在您的关卡中放置一个 Flipbook 并选中它后,前往 详细信息(Details) 面板。
单击 蓝图/添加脚本(Blueprint/Add Script) 按钮。
这将创建一个新的蓝图(提示您输入名称),并自动分配所选的Flipbook作为其中的一个组件。
Flipbook组件属性
Flipbook组件的 详细信息(Details) 面板中有几个可以调整的属性,但是最关键的属性在 Sprite 部分下。正是在这里,您可以定义应使用的 源Flipbook(Source Flipbook),并定义Flipbook要使用的初始 播放速率(Play Rate) 和 Sprite颜色(Sprite Color)。
单击 无(None) 下拉框以分配Flipbook。
任何Flipbook资源都可以在弹出窗口中进行选择,或者您也可以使用顶部的选项创建一个新的Flipbook资源。
您可以在 播放速率(Play Rate) 框中输入初始播放速率(Play Rate)的数值。
最后,使用 Sprite颜色(Sprite Color) 选项设置Sprite要使用的颜色。
碰撞属性
虽然您可以将碰撞直接应用到Flipbook(参阅Flipbook 编辑器参考以获得更多信息),但出于性能考虑,建议您使用碰撞形状。例如,您可以将 盒体(Box)、胶囊体(Capsule) 或 球体(Sphere) 组件与Flipbook结合使用,以提供所需的相关碰撞结果。
例如,单击蓝图中的 添加组件(Add Component) 按钮并搜索 碰撞(Collision):
现在,您可以应用不同的形状来作为Flipbook的碰撞,而不是在Flipbook本身上指定它。
以下为此类情况示例。
在上图中,我们创建了一个简单的闪烁盒体蓝图,并添加了一个 盒体碰撞(Box Collision) 组件,通过更改 盒体范围(Box Extent) 值以封装我们的盒体,并将 碰撞预设值(Collision Presets) 更改为 全部阻挡(Block All) 以提供实际的碰撞,从而为盒体提供碰撞。
使用Flipbook组件
当您准备好开始使用Flipbook组件后,您可以转到 图表(Graph) 选项卡,在 我的蓝图(MyBlueprint) 窗口的 组件(Components) 部分下查看该组件以及添加到蓝图中的任何其他组件。
无论如何,若要访问或影响Flipbook组件,您需要按住 Ctrl 并 拖放 Flipbook组件到一个图表中。
这样将得到Flipbook组件,此时您可以拖动它并在其上调用任意数量的事件或函数。
您将看到,如果您在上下文菜单中搜索 Flipbook,只有使用Flipbook才能执行某些操作。
在这里,您可以执行诸如确定Flipbook当前是否正在播放、获取其当前播放速率、设置新播放速率、启动、停止或反转等操作。您还可以获得当前的源Flipbook资源,以及设置一个新的源Flipbook资源来使用,该操作将切换动画。
您也可以通过搜索 Sprite 来访问此组件,它还提供了更改Sprite颜色的选项。
切换Flipbooks
以下提供了一个使用 设置Flipbook(SetFlipbook) 节点的示例,用于更新正在播放的Flipbook运动。
只有在Flipbook组件上的 移动性(Mobility) 属性被设置为 可移动(Moveable) 或在Actor的构造过程中调用该属性时,操作才能奏效。
在本例中,当玩家角色执行任何移动时,系统将调用名为 更新动画(Update Animation) 的自定义事件。
此自定义事件为名为 Sprite 的Flipbook组件(这是我们的玩家角色)使用 设置Flipbook(SetFlipbook),以根据角色的 速度(Velocity) 是否大于0(表示它们在移动)来选择是空闲动画还是运动动画。如果它们在移动,则正在运行的Flipbook将被设置为源Flipbook;如果它们并未移动,则空闲的Flipbook将被设置为源Flipbook。
结果是在Flipbook动画之间进行切换,如下所示。
您还可以在 新项目(New Project) 下的项目浏览器中的 2D侧滚动条(2D Side Scroller) 项目模板内看到此内容。
设置播放速率
以下给出了一个使用 设置播放速率(Set Play Rate) 节点来增加/减少Flipbook组件播放速度的例子。
在上面我们的角色蓝图中,我们使用 左Shift 键事件,根据是否按住Shift键来更新 最大行走速度(Max Walk Speed) 值(角色移动(Character Movement) 速度)。然后,我们更新 Sprite Flipbook组件(这是我们的可操作角色)的 播放速率(Play Rate),在按住shift键时将其加倍,并在shift键释放时将其设置回正常速率。
其结果是,当按住shift键时,角色移动得更快(Flipbook的速度也更快)。