虚幻5简单第三人称游戏制作文档

虚幻5简单第三人称游戏制作文档

基本需求

最后成果与ue5引擎第三人称初始化后的内容类似(但要从空白项目做起)

9627b64fa3ba6fd5f18789bd24da7bb

基础创建

  1. 登录到 Epic Games启动程序,通过 新建(New)>游戏(Games)>空白(Blank)>项目(Project)

文件结构目录

ctrl+space可快速打开内容浏览器

  • _项目名

    • Blueprints 蓝图

    • Maps 地图

    • Materials 材质

    • Meshes 网格体

    • Textures 纹理

    • FXs 粒子与特效

    • Audio 音频

    • Cinematics 过场动画

    • Characters 角色

      • 角色名
        • Animations 动画
        • Mesh
        • Textures
        • Materials
    • Props
      • 资产名
        • Materials
        • Textures

角色

[虚幻引擎5.0文档 设置角色动作] //官方文档

创建玩家角色

在角色下的Mesh里添加->蓝图->角色,命名为**BP_name (所有命名前要写元素的类型)

导入角色骨骼体和动画

获取骨骼体和动画的两种方式

  1. 进入虚幻商场下载动画初学者内容包,在平台将保管库内容添加到项目里
  2. 创建现成的工程,在文件夹里打开,将content文件里的内容复制到你的项目文件夹的content里。

内容管理器里将所需要的骨骼体拖入到之间建立好的项目文件夹Characters->角色名->Mesh里,动画放在Characters->角色名->Animations里。

绑定骨骼体

双击 BP_name 打开 类默认值,然后在组件(components)选项卡中,选择 网格体(CharacterMesh0) 骨骼网格体组件(Skeletal Mesh Component),并导航至 细节面板(Details panel)。在 网格体(Mesh) 类别中,选择 骨骼网格体变量(Skeletal Mesh variable) 旁边的下拉箭头,并从下拉菜单中选择SK_Mannequin。(即你下载好的骨骼体)

变换设置

将位置和旋转值如上图调节后,角色的骨骼网格体将出现在箭头组件方向。

弹簧臂和摄像机设置

f59f1f76a3f3126a2e912084342895a

分别在网格体下按上图层次添加SpringArm和Camera组件

在SpingArm组件的细节面板里,在 摄像机设置(Camera Settings) 类别,启用 使用Pawn控制旋转(Use Pawn Control Rotation)。(不打开的话视角只能水平移动)

4ed7a4fe657160efc8f59a483d81250

弹簧臂长度调节远近,目标偏移调节角度

角色移动设置
223387011c42fec64dd13ed405a6cc6

实现基本移动功能

  1. 导航至 编辑(Edit)>项目设置(Project Settings)>输入(Input),然后在 绑定类别(Bindings Category) 中点击 操作映射(Action Mappings) 旁边的 + 号,添加以下内容:

    5a867b1eef57102c1288b8c0cc3c868

  2. 内容浏览器(Content Browser) 中,双击 BP_name 打开 类默认值,然后右键点击 事件图表(Event Graph),并在下拉菜单中搜索和选择 MoveForward。(这里可以搜到Moveforward是因为上面步骤添加了)

    d4891c7d46bd4e51971fafa252ae33a

用相同步骤完成上图的蓝图,这个蓝图实现了角色前后左右移动的能力。

657bbec04a47ddbd14eed0d418f965d

镜头可跟随鼠标上下移动

a7af0b2ec959847e89c02871a327296

蹲伏和跳跃

699e9f5646c285fdb8e4468458a09bf

冲刺

但此时虽然看似完成了移动的操作,但运行起来任务模型只能像个架子移来移去,没有动作

这是因为我们还没有做动作的动画

设置游戏模式

  1. 在 **内容浏览器(Content Browser)**项目的蓝图文件夹中,点击 添加/导入(Add/Import) 按钮,并创建新的 蓝图(Blueprint) 类,当 选择父类(Pick a Parent Class) 菜单显示时,选择 游戏模式基础(Game Mode Base),并将新游戏模式类命名为 Bp_GameMode

  2. 双击 Bp_GameMode 打开类默认值,然后导航至 细节面板类类别(Details panel Classes category),默认Pawn类选择Bp_name。

  3. 导航至 编辑(Edit)>项目设置(Project Settings)>地图和模式(Maps & Modes),在 默认模式类别(Default Modes category),选择 Bp_GameMode

创建移动混合空间

也就是动作的动画

  1. 内容浏览器(Content Browser) Character->Animations中,点击 (添加/导入)Add/Import > 动画(Animation) > 混合空间(BlendSpace),当提示选择骨架时,选择 UE4_Mannequin_Skeleton(角色的骨架),然后将你的混合空间命名为 Locomotion_BS

  2. 双击打开 Locomotion_BS 混合空间。在 资产详情选项卡(Asset Details tab) 中,导航至 轴设置(Axis Settings) 类别,然后选择 水平轴(Horizontal Axis)垂直轴(Vertical Axis) 旁边的箭头,查看更多变量详情。

    b2fe72b400d1e6984fe9b3fd365ac1d

​ 这样设置的目的是,能在速度和方向两个维度上选择该放什么动画

  1. 导航至 资产浏览器(Asset Browser),然后在过滤器搜索栏中,输入 Idle_Rifle_Hip,然后将 Idle_Rifle_Hip 资产拖放到 **方向0.0*和*速度0.0混合空间。之后分别搜索不同的动画,放置在正确的位置

    a35a7e6b8ff0bfd82174be666cf01b9

按住ctrl可以查看不同位置的动画效果

创建蹲伏混合空间

  1. 内容浏览器(Content Browser) Character->Animations 中,点击 (添加/导入)Add/Import > 动画(Animation) > BlendSpace,当提示选择骨架时,选择 UE4_Mannequin_Skeleton,然后将你的混合空间命名为 LocomotionCrouch_BS

  2. 双击打开 LocomotionCrouch_BS 混合空间。在 资产详情选项卡(Asset Details tab) 中,导航至 轴设置(Axis Settings) 类别,然后选择 水平轴(Horizontal Axis)垂直轴(Vertical Axis) 旁边的箭头,查看更多变量详情。

    ded96f56045bf7c3970dfe7577a411c

  3. 与之前相同

    704857e0459067a7d3d23a3c99678de

创建动画蓝图

你将需要 动画蓝图,它将根据玩家的当前动作确定要播放的角色动画。此外,你将需要设置 状态机(State Machine) 以便创建 行走(Walk)蹲伏(Crouch) 状态,然后设置状态之间的过渡。

  1. 内容浏览器(Content Browser) 中,点击 添加/导入(Add/Import)>动画(Animation)>动画蓝图(Animation Blueprint),当提示选择骨架时,选择 UE4_Mannequin_Skeleton,然后将你的动画蓝图命名为 PlayerCharacter_AB

  2. 双击 PlayerCharacter_AB 打开动画蓝图。在 我的蓝图选项卡(My Blueprint tab) 中,导航至 变量(Variables) 类别 ,并选择旁边的 + 号,创建名为 Is CrouchedIs Jumping两个 布尔Speed和Direction 两个 浮点变量

    image-20220804174445201

  3. 点击 事件图表(Event Graph) 选项卡, 建立动画的蓝图。通过蓝图获取运动状态。

    0d7c73151a411b57e3535cd4b9bfb1d

创建动画状态机

状态机 可以用图形显示骨骼网格体的动画组织成一系列 状态。这些状态会在 过渡规则 的控制下从一种状态过渡到另一种状态。你将使用布尔变量在前面分段中创建的不同运动混合空间之间过渡。

  1. PlayerCharacter_AB 动画蓝图中,导航至 动画图表(Anim Graph)

    动画图表 Anim Graph用于评估骨骼网格体的最终姿势。

  2. 右键点击 AnimGraph,并从 操作(Actions) 下拉菜单搜索并选择 添加新的状态机(Add New State Machine)。将State Machine节点重命名为 Locomotion.

    f18ede1398a721f68f5ee907e18d6f5

  3. 双击状态机打开图表。从 条目(Entry) 引脚拖移,并从 操作(Actions) 下拉菜单中选择 添加状态(Add State)。将新状态命名为 动作(Movement),用同样操作创建Jump和Crouch的状态机。

    7625ba980298fa767f0f6f472551f2d

  4. 双击打开 动作状态节点(Movement State Node)。导航至 资产浏览器(Asset browser),搜索 Locomotion_BS,然后点击并将其拖放到图表中。将变量Direction和Speed拖入并连接。

    25dccb600d7f93eb11e43519a01b718
  5. Jump和Crouch状态机如下

    0e62ee78cae8b5b0d91480e38be8204

    0d7c73151a411b57e3535cd4b9bfb1d

由于这个简单的角色没有判断 是否在空中 ,所以跳跃动画其实无法触发。

  1. 内容浏览器(Content Browser) 双击 Bp_name,打开 类默认值,然后在 组件(Components) 选项卡中,选择 网格体组件(Mesh component),然后导航至 细节面板动画类别,在 动画类变量下拉菜单中,搜索并选择 PlayerCharacter_AB

环境

平面地图

  1. 快捷键shift+2打开地形编辑

​ 地形->材质中,可以搜索grass,选择后,在调整地形大小和位置,最后点击创建。

​ 用雕刻中的工具可以实现山,谷各种形状,按住shift键可以使地形往下凹。

  1. 可以创造海洋将边界挡住,先选择一个小立方体,调整大小,长宽100000,高100,选中后在上边的工具栏Actor中将其转换为静态网格体,存放在文件目录Meshes中,命名为SM_Ocean。选择材质,搜索water,即可创造大海。

基本几何体

两种方法

  1. 自带了一些基本网格体可以添加
  2. 将喜欢的资源直接拖到项目的content文件夹里

结语

如何改进

  1. 添加检查是否在空中的蓝图,完成空中的动画。

  2. 解决当左右冲刺时,冲刺方向的动画。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ue5第一人称射击游戏开发过程中,我们学到了许多重要的教训和经验,这些经验可以帮助我们更好地开发游戏和避免错误。以下是我们从这个过程中学到的一些教训回顾: 1. 计划是关键:在开始开发之前,我们需要仔细规划游戏的各个方面。这包括游戏的目标、游戏机制、游戏场景、角色角色设计、敌人设计等等。只有在完全理解游戏的规模和目标之后,我们才能更好地制定开发计划。 2. 选择正确的工具:ue5提供了许多工具,包括蓝图、虚幻编辑器、材质编辑器等等。选择正确的工具可以大大简化开发过程,同时还可以减少错误和调试时间。 3. 小步快跑:我们发现,通过定期测试和迭代来开发游戏最为有效。每完成一个小的功能,我们都会进行测试和迭代,以确保游戏在整个开发过程中保持稳定并且能够按照计划前进。 4. 管理时间:在开发游戏时,时间管理非常重要。我们需要确保在规定的时间内完成所有任务,同时还需要考虑到可能出现的问题和延迟。 5. 优化性能:在制作游戏时,性能优化是非常重要的。我们需要确保游戏可以在不同的设备上运行流畅,并且不会出现崩溃或错误。 6. 与社区互动:在开发过程中,与社区互动可以帮助我们更好地了解用户需求和游戏市场需求。通过与社区交流和分享,我们可以收集反馈和意见,从而改进游戏并提高用户满意度。 总之,在ue5第一人称射击游戏开发中,我们学到了许多有价值的教训和经验。这些经验可以帮助我们更好地开发游戏并避免常见的错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵鸣漩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值