在使用UE4开发游戏中,在某个时候会需要一些角色在环境中移动。这时候就需要设置角色了,那么你想要设置一个玩家能够以某种方式控制的角色吗?
我们可以使用UE4中的Maya绑定工具,以简化绑定过程,减少花费的时间。
Maya绑定工具(ART)是一个综合性工具集,能够处理角色框架创建,骨架放置和绑定创建,并利用多种动画工具加快动画师的工作流程。
FBX是Autodesk所有和开发的文件格式。我们可以在 MotionBuilder,Maya和3ds Max等软件中制作好各种资产,并导出为FBX格式UE4具有一条FBX导入通道,这使得我们可以导入FBX格式的文件。
在创建动画角色的过程中,将网格物体导入UE4是非常重要的一步。UE4包含一个强大的导入系统,具有多种选择以加快导入过程。
玩家控制器是一种特殊的脚本或蓝图,可以将来自玩家的输入解析为可以驱动角色的事件。在编辑器中,你可以使用玩家控制器的父类创建一个新蓝图,并使用它来设置事件。
你可以在编辑器中启动一个新项目(文件(文件)>新项目(New Project))并查看Blueprint Top Down模板。所有基于蓝图的模板都将包含某种类型的玩家控制器。
你可以在类查看器(Class Viewer)中搜索玩家控制器,关闭类查看器(Class Viewer)中的过滤器。双击此资产将打开它,然后自行查看设置。
通过在文件中点击新项目(New Project),在里面选择C ++ Top Down模板,这时可以在C ++脚本中查看玩家控制器。
设置好玩家控制器后,系统就可以处理来自玩家的输入了。但是必须将这些输入转换成能够在屏幕上驱动角色的东西。这意味着需要将这些输入转换(或解析)为操作。这就是Pawn或角色类发挥作用的地方。
我们可以发现两个都用作游戏中由玩家或游戏内AI控制的实体。区别在于角色类是Pawn类的扩展,并添加了玩家物理,对特定网格物体的支持,以及在创建可操作的游戏角色时所需的一般处理类型。对于只需要由AI在场景中驱动的简单元素,你通常可以使用Pawn处理。
从玩家控制器触发的事件开始,并使用脚本来控制如何处理这些输入以及如何使用它们来控制角色。
角色类还包含一个骨架网格物体的引用,这是玩家在玩游戏时所看到的内容的基础。在第一人称游戏中,这通常只是一对漂浮的手臂,甚至可能是幅完整的身体,但需要让身体适当地隐藏在环境中。对于第三人称游戏,网格体将是代表角色的网格体。
角色上的运动通常通过将一些运动变成物理形状来进行处理。此运动也与移动模式相吻合。这是一个枚举,用于跟踪角色运动。这些信息稍后将用于驱动框架网格体上正在播放的动画。
以自定义蓝图角色类为例,在编辑器点击文件-New Project,为第一人称或第三人称选择蓝图模板。所有基于蓝图的模板都将包含某种类型的角色,推荐使用第一或第三人称模板。
在新项目中,可以在类查看器(Class Viewer)中搜索角色,在游戏文件夹中按蓝图筛选。双击此资产将打开它,然后自行查看设置。
通过点击文件-New Project选择第一或第三人称代码模板,这时可以在C ++脚本中查看角色。
在角色蓝图中定义了网格实体时,演员(actor)可以在世界场景中的移动方式后,基于这些移动在动画蓝图中分配特定的动画。
动画蓝图包含两个主要组件,以为每帧创建动画。事件图表更新动画图表中所采用的数值,这些数值用于驱动状态机,混合空间或其他例程,实现多个动画序列或姿势之间的混合,从而能够向其他系统发出通知,并实现动态动画驱动效果。
在动画蓝图中,你的所有数据都聚集起来,并从实际上让你的骨架体执行相应的动画。以便充分理解动画蓝图及其功能。
创建了定义角色运动的动画蓝图之后,需要确保将其分配给动画蓝图生成的类(Anim Blueprint Generated Class)属性,该属性置于角色蓝图的网格体组件下。这是必要的,因为每一个层叠网格体可能有多个动画蓝图,角色蓝图需要知道发出发送必要的动画和变量数据到其中的哪一个。
游戏模式是用于定义你的游戏基本类是什么的属性集合,你可以设置下面的属性:
▶ Default Pawn Class:这将包含你为游戏中的角色设置的角色类。
▶ HUD类:这包含创建的任何特殊的平视显示器(HUD)类,本文档中不介绍这些类。
▶ PlayerController类:这将包含你为游戏中的角色设置的自定义玩家控制器。
▶ Spectator Class:这包含了任何用作控制旁观者或只是观看操作的被动玩家的特殊类。本文档中不介绍这些类。
▶ Replay Spectator Class:这包含在重播时用于控制旁观者的任何特殊类。本文档中不介绍这些类。
▶ 游戏状态类:该类控制任何关于游戏玩法的特殊规则或设置,但本文档中不介绍。
▶ 玩家状态类:该类定义为将相关玩家信息复制到所有客户端的任何特殊规则。
为了测试你的角色,需要设置替代典当类和玩家控制器类属性。
一旦设置好游戏模式,要玩自定义角色,需要确保当前关卡正在使用您的游戏模式。这使用了世界场景设置(World Settings),可以点击主工具栏上的设置(Settings)按钮查看。
在World Settings中,你需要确保已经将游戏模式覆盖(GameMode Override)设置为游戏模式类的名称。这样就可以保存并测试新角色了。