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

基本需求

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

基础创建

  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。(即你下载好的骨骼体)

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

弹簧臂和摄像机设置

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

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

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

角色移动设置

实现基本移动功能

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

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

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

镜头可跟随鼠标上下移动

蹲伏和跳跃

冲刺

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

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

设置游戏模式

  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) 旁边的箭头,查看更多变量详情。

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

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

按住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) 旁边的箭头,查看更多变量详情。

  3. 与之前相同

创建动画蓝图

你将需要 动画蓝图,它将根据玩家的当前动作确定要播放的角色动画。此外,你将需要设置 状态机(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 两个 浮点变量

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

创建动画状态机

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

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

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

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

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

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

  5. Jump和Crouch状态机如下

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

  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. 解决当左右冲刺时,冲刺方向的动画。

虚幻5简单第三人称游戏制作文档相关推荐

  1. 有趣的第一人称和第三人称游戏

    有趣的第一人称和第三人称游戏 16340120 江城所在的数据科学与计算机学院 有趣的第一人称和第三人称游戏 前言 第一人称 -FPS一个简单的分类 第三人称 -代表作品 前言 相信基本大部分用电脑的 ...

  2. rust第三人称视角插件_一个第三人称游戏相机的实现(基于rust语言和cgmath库)...

    我在学校时就对角色扮演类3D游戏感兴趣,毕业那会研究过第三人称视角的游戏相机的实现(基于D3D),但由于没有想到合适的计算方法,最后实现出来的程序有BUG,并且没找出原因. 最近看到git有rust写 ...

  3. 第三人称游戏开发-常用代码(1)

    开发第三人称游戏,对于摄像机控制的一个简单代码..代码直接赋给摄像机,把游戏主角标签设为Player,摄像机就会自动找到主角并跟随. using UnityEngine; using System.C ...

  4. Blueprints - UE4第三人称游戏角色控制

    虚幻引擎4中第三人称游戏相关,UE4中Blueprint相关,个人学习笔记:

  5. UE4学习-第三人称游戏的AI巡逻

    文章目录 创建一个第三人称游戏工程 复制一个对象,添加到场景 给角色的蓝图添加事件 添加导航网格体边界体积 如果AI不动 创建一个第三人称游戏工程 创建一个工程 这里其实创建蓝图工程和C++工程,并没 ...

  6. 第一人称游戏与第三人称游戏的区别

    第一人称游戏也叫主视角游戏,是指游戏的视野就是玩家操控的角色的主视野,操控的角色本身并不出现,屏幕上显示的内容就相当于角色眼睛所看到的,玩家通过该视野范围和角度来了解游戏世界.玩家觉得"我& ...

  7. UE4在第三人称游戏中添加角色和角色的空闲动画

    1.首先可以在Mixamo里选择喜欢的人物,下载fbx文件. 2.打开UE4,创建一个第三人称游戏. 3.在内容浏览器里创建文件,命名"Character". 在Character ...

  8. unity中第三人称游戏摄像头遮挡的处理

    在游戏开发过程中难免会做第三人称游戏 如果地形中的设施比较多 或者说做一个房间内的游戏 很可能我们调整好的视角 在游戏过程中会被墙体挡住主角 这样游戏体验感就会大打折扣 就像这样(遮住半个身子还是可以 ...

  9. Unity学习日志_七行核心代码实现第三人称游戏的相机逻辑

    七行核心代码实现第三人称游戏的相机逻辑: 使用到的一些知识: 欧拉角 虚拟轴 四元数计算 向量计算 代码实现: 其中RoundMovement方法为核心方法(): using UnityEngine; ...

最新文章

  1. Vue混入mixins
  2. 直播 | 北京邮电大学徐逸辰:图对比学习研究进展
  3. 轻松解决(,|)和(and,or)之间的区别
  4. 解决:There was an unexpected error (type=Internal Server Error,..). No instances available for XXX
  5. ITIL V3 服务转换篇 之 服务转换阶段的组织形式
  6. Interrupted Exception异常可能没你想的那么简单!
  7. android引入开源项目方法,和解决android-support-v4.jar冲突问题
  8. java持续集成soapui_接口自动化测试持续集成--Soapui接口功能测试参数化
  9. MultiActionController
  10. Java 线程的七种状态
  11. [CTF攻防世界] WEB区 关于备份的题目
  12. 机器人阿郎_机械人阿郎
  13. 为什么百度查ip查到的ip和dos里面ipconfig查到的不一样及IPv4地址分类
  14. 关于在Mac上挂载移动硬盘实现数据备份的方法
  15. android实现多画面播放,快手同框怎么弄?怎样制作多个视频同框?安卓手机上制作三个不同的视频同框播放...
  16. 防病毒软件测评权威机构
  17. 吉首大学第九届"新星杯"大学生程序设计大赛 M.来来来 比比咱谁更聪明
  18. linux究竟有何优势?为何大多数程序员会选择linux?
  19. 越过长城,走向世界!中国第一封 Email 发出 30 年
  20. U盘误格式化后恢复操作

热门文章

  1. 【andriod】 设备APP连接云端平台的各种细节部署和操作
  2. 中国电信联合RIM发布黑莓9630手机
  3. ucenter php版本,PHP优秀系统UCenter的MVC架构
  4. MOS管中的米勒效应
  5. 联想RD640服务器配置LSI Logic Config Utility v7.27.00.00 (Raid)
  6. 利用脑电图(EEG)检测自闭症儿童大脑微状态的改变
  7. 天问一号成功着陆!它是如何到达火星的?
  8. 天河一号 中国最快的计算机
  9. linux下hp ssp在线更新固件,HPE SSP固件升级文档
  10. 【转】Numpy 数学函数及代数运算