对ue4 sequence的学习和理解

对ue4 sequence的学习和理解

https://zhuanlan.zhihu.com/p/351252543

项目中有大量的过场和事件,对sequence的需求量是比较大的,ue4的sequence又是一个可交互的东西,如果能进行二次开发必然是展现游戏的利器,所以需要花点时间对它进行深入的了解。

首先,要在c++中使用sequence开发,必须要先在你项目工程的.build.cs里加入四个常用的模块,分别是MoviePlayer, LevelSequence, MovieScene.这样,绝大部分sequence的模块都包含进去了,类似如下。

然后你在需要开发的.h上加入这几个.h文件,基本就差不多了。

如果要了解sequence,光从程序的角度理解肯定是不够,你必须要懂得基本编辑器里面的一些功能点,不然你看那些函数和类估计一头雾水。

在ue4的editor下,有两个sequence的入口,一个是level sequence,一个是master sequence,其实master sequence就类似level sequence的一个超集,它帮你建立文件夹,分割成一个主sequence和一堆碎的子sequence,每个子sequence里面都是一个shots,这个也是level sequence分段的基本单位。不过对于程序开发,master sequence这个就跟我们无关了,我们只需要了解level sequence的基本架构即可.

当然,除了这两个sequence,还有一个实验性功能,叫actor sequence component,这个是可以加载在actor下面的一个组件,可以为这个actor做一些简单的动画,比如位移什么的,这个功能我们在一些棋牌里用上,做一些牌的位移什么的,效果还是不错的,太复杂的功能做不了,而且有不少bug,比如你如果你在一个actor里面加了几个actorsequence comonent,它是不会单独弹出sequence编辑器的,是合并在actor面板里的,反复切换会很麻烦而且容易出错,有兴趣的可以去学习下。

在level sequence里,大致的结构如下

这里面有个重点,就是在bind里,你如果需要控制摄像机在sequence结尾保持状态,你需要设置为keep state。

每个shot下的多个sequence都可以当成一个section,而一个master sequence又是由多个shot的sequence组成的。

另外在每个shot里,一般又会定义多种trace,用来控制事件,材质,声音,淡入淡出等等.

 

在c++开发中,我们一般访问sequence需要定义两个最基本的类.

这分别代表一个一个actor的类和一个实际播放控制的类.我们在代码中这么控制获取他们.

假定我先定义个sequence的引用。

然后使用它来构造.

当构建成功,我们则可以使用下面一些常用函数来控制和访问它们.

篇幅有限,我就简单做了个结构的分析思维导图。

只是个学习笔记,里面还有很多疏忽和遗漏,也会有些错误,欢迎指正!

发布于 02-18

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
UE Sequence动态绑定是一种程序设计概念,通常用于游戏开发中的角色动作设计。在UE4游戏引擎中,通过使用UE Sequence可以轻松地创建复杂的动画序列。 动态绑定是指将UE Sequence动画序列与游戏角色的动作进行关联。实际上,动态绑定允许开发人员在游戏运行时为角色指定不同的动画序列。 在动态绑定过程中,首先需要创建一个UE Sequence来定义角色的动画行为。这个序列可以包含各种动作,包括移动、攻击、跳跃等等。然后,将这个动画序列与角色进行绑定。在游戏运行时,只需通过代码或者蓝图将动画序列赋予角色的动作接口,便能够实时改变角色的动画表现。 动态绑定的好处是方便灵活。通过使用UE Sequence的动态绑定功能,开发人员可以根据游戏运行时的情况来改变角色的动画行为,从而实现更加丰富多样的角色表现。比如,在某个情况下,可以将角色的攻击动作绑定到一个特定的动画序列,而在另一个情况下,则可以绑定到另一个动画序列。这样,可以根据角色的状态和环境来动态调整动画,增加游戏的可玩性和真实感。 总之,UE Sequence动态绑定是一种强大的工具,可以实现在游戏中根据角色的动作需求实时变化动画表现的功能。通过动态绑定,开发人员能够更好地控制和定制游戏角色的动画行为,提升游戏的质量和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值