查看: 177|回复: 7

[引擎各个功能] 【使用Matinee修改蓝图属性 | Unreal Engine】

[复制链接]

1

主题

273

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
73034
发表于 2016-6-25 16:14:38 | 显示全部楼层 |阅读模式


本页面的内容:

      
概述

给Matinee暴露蓝图变量

随着时间修改变量

在蓝图中使用已修改的变量

随着时间触发事件
     概述
正如您可以在Matinee中使静态网格物体、骨架网格物体、光源及其他Actor产生动画一样,当这些对象是蓝图的组件时,您仍然可以使用Matinee使得它们产生动画。您可以通过给Matinee暴露某些特定类型的蓝图变量来控制蓝图组件及其他属性、使用Matinee的轨迹来随着时间修改这些变量、将这些变量同蓝图中的事件及参数结合使用。

您也可以在Matinee中创建事件,使用它们来在Matinee序列播放过程中的特定时间点处出发蓝图函数。
给Matinee暴露蓝图变量
您可以在蓝图中创建并暴露给Matinee的蓝图类型包括:

布尔型

浮点型

向量型

LinearColor (可以在 Struct 类目中找到)

要想给Matinee暴露蓝图变量:

在蓝图中创建一个 Bool、Float、Vector或LinearColor型变量。

在该变量的 详细信息 面板中选择 Expose to Matinee(暴露给Matinee) 选项。

BP_ExposeToMatinee.jpg



关于蓝图变量的更多信息,请参照 蓝图用户指南:变量。
随着时间修改变量
一般,当您想在Matinee序列中使用Blueprint变量时,都是因为您想随着时间修改那个变量的值。

要想在Matinee中修改变量的值:

在Matinee中打开该Matinee Actor。

在场景大纲视图或者视口中,选择包含该变量的蓝图Actor。

在Matinee中,创建一个Empty Group(空组) 赋予它一个相关资源文件名称,比如 "Blueprint Actor" 。

Matinee_AddEmptyGroup.jpg



关于在Matinee中创建组的更多信息,请参照应用组和轨迹页面。

右击该新组,并从关联菜单中选择您需要的轨迹类型:

Bool Property Track(布尔型属性轨迹)

Float Property Track(浮点型属性轨迹)

Vector Property Track(向量型属性轨迹)

LinearColor Property Track(线性颜色属性轨迹)

Matinee_AddVectorTrack.jpg



在出现的下拉菜单中,选择您想修改的变量的资源文件名称,然后点击 OK(确定) 。

Matinee_ChooseVectorVariable.jpg



在您想修改该变量的值的时间点处,将关键帧添加到新轨迹中。(关于添加关键帧的更多信息,请参照工具条)。

Matinee_AddKeyframes.jpg



修改该变量的值。

对于浮点型、向量型及线性颜色型变量,请点击轨迹资源文件名称旁边的切换图标 (
Matinee_CurveEditorIcon.jpg



Matinee_Curves.jpg



关于曲线编辑器的更多信息,请参照曲线编辑器。

对于布尔型变量,请右击关键帧,并根据该布尔型变量的当前值来点击 Set to True(设置为true) 或 Set to False(设置为false) 。

Matinee_BoolTrack.jpg



当您在Matinee中使得蓝图的组件产生动画时,您不能通过拖拉时间轴来预览它。您必须关闭Matinee,并使用‘在编辑器中运行(PIE)’或‘模拟’功能来预览该动画。
在蓝图中使用已修改的变量
在您的蓝图中,您可以使用Matinee中修改的变量来随着时间产生特定的动画改变。要想完成这个处理,在图表模式中,给该变量创建一个getter节点。然后,您可以把那个变量节点连接到适当的函数上,并选择一个事件来触发它。

要想在蓝图中使用一个通过Matinee修改的变量:

打开该蓝图。

在图表模式中,为该变量创建一个"getter" 节点,这可以通过按住 Ctrl  并将该变量拖拽到图表中,或者通过拖拽该变量到图表中从出现的关联菜单中选择 Get 来完成。

添加及连接适当的事件及函数。比如,要想使用一个向量变量来随着时间修改一个静态网格物体组件的比例资源文件大小,那么您可以将一个 Event Tick 事件节点链接到 Set Relative Scale 3D 函数节点上, 使用静态网格物体组件作为 Target ,并将那个变量连接到  New Scale 3D 引脚上。Tick 事件是每帧都调用的,所以一般情况下在使用Matinee控制变量值时,这里是更新蓝图的较好地方。

BP_MatineeVariable.jpg


随着时间触发事件
在Matinee中,可以为一个蓝图Actor创建一个Event Track,来计时以触发特定的事件。然后您可以在蓝图中暴露这些事件,并把它们连接到您想在指定时间触发的函数上。

要想使用Matinee事件在蓝图的特定时间点处触发动作:

在Matinee中,给和蓝图相关的组添加一个Event Track。

Matinee_EventTrack.jpg



在Event Track的指定时间点处添加关键帧。您每次添加一个关键帧,就会提示您给该新事件提供一个资源文件名称。

Matinee_AddEvent.jpg



Matinee_Events.jpg



在关卡蓝图中,选中Matinee Actor,在图表中右击。其中有一个针对您的Matinee  Actor的选项是添加一个MatineeController 。选择它来创建一个MatineeController节点,该节点列出了您在Matinee中为其创建关键帧的事件。

Matinee_AddController.jpg



Matinee_ControllerWithEvents.jpg



现在您可以把MatineeController中的事件执行引脚连接到将要在播放Matinee序列时触发的函数节点上。

每个Matinee Actor仅能有一个 MatineeController 节点。如果您在关联菜单中没有看到MatineeController 选项,那么您可能在您的关卡蓝图中已经有一个MatineeController 节点。

在关卡蓝图中,如果您添加了MatineeController 节点后,给Matinee Event Track添加了一个事件,那么您可以通过右击该事件并选择Refresh(刷新)节点来更新该节点的事件列表。
回复

使用道具 举报

0

主题

881

帖子

2885

积分

vip会员

Rank: 1

积分
2885
发表于 2016-7-2 19:05:07 来自手机 | 显示全部楼层
助人为乐啊!
回复 支持 反对

使用道具 举报

深爱那片海 该用户已被删除
发表于 2016-7-3 21:59:30 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

868

帖子

2897

积分

vip会员

Rank: 1

积分
2897
发表于 2016-7-4 05:51:19 来自手机 | 显示全部楼层
楼主辛苦
回复 支持 反对

使用道具 举报

0

主题

961

帖子

3158

积分

vip会员

Rank: 1

积分
3158
发表于 2016-7-4 16:31:26 | 显示全部楼层
看看!便宜就好了
回复 支持 反对

使用道具 举报

0

主题

859

帖子

2817

积分

vip会员

Rank: 1

积分
2817
发表于 2016-7-16 09:01:49 来自手机 | 显示全部楼层
好东西 好东西 好东西 好东西
回复 支持 反对

使用道具 举报

0

主题

855

帖子

2792

积分

vip会员

Rank: 1

积分
2792
发表于 2016-7-21 07:49:46 来自手机 | 显示全部楼层
好资源,谢谢
回复 支持 反对

使用道具 举报

0

主题

875

帖子

2911

积分

vip会员

Rank: 1

积分
2911
发表于 2016-7-25 06:44:05 | 显示全部楼层
不错,我喜欢这个,看看多少金币哦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部