UE4 第三人称完全流程
1、开始项目导入资源
创建一个包含新手包的Blank空项目,在StarterContent目录下创建一个MyCharacter目录用于保存模型和动画;
准备好动画资源,首先要导入的是骨骼(动画的导入成功的前提是项目中已经存在对应的骨骼)。
将指定文件拖入MyCharacter文件夹
因为拖入的文件时骨骼文件,所以不存在动画等其他一些资源,直接点击Import就行了
警告不用理睬,等待shader的初始化,完成后:
点击Save All保存导入的所有文件,然后新建一个Animation的文件夹,用于保存所有的动画资源。
将资源包里面其他所有文件都拖入进来
骨骼选择,之前导入的骨骼,然后点击Import All 导入所有动画
点击Save All 保存所有动画文件。
设置控制器输入,这里为了简便,主要设置电脑控制,wasd,空格,鼠标,不考虑移动端和手柄。
修改MyCharacter Event Graph蓝图
为了好看,简单修改一下Material颜色表现一下:
2、Blend Space 1D 一维混合空间
在Animation文件夹中创建Blend Space 1D,用于表示和定义Idle,Walk和Run动画之间的关系。
双击打开
在左侧,找到Axis Setting 并做如下设置
将右侧动画片段拖动到速度轴上面
3、动画蓝图 Animation BP
创建动画蓝图,并命名为CharacterAnimBp
双击打开动画蓝图
右键空白处,键入state machine,添加状态机,并且命名为locomotion,
双击状态机,进入,右键空白处,创建一个state,并将其重命名后,双击进入。
将右侧资源(第二部中准备得Blend Space)拖入进来,并连线
创建速度变量Speed,这个变量会在Event Graph里面被改变,从而控制动画
这时,切换到最外层,并连线
通过改变右侧的Speed值,可以看到左侧视窗中人物的动画变化。
进入状态机内,完成状态机
创建跳跃开始状态
设置跳跃开始动画
设置可以从混合空间包含的动画转换到JumpStart状态的条件,当绑定了该动画蓝图的Pawn在空中时,执行此起跳动画。
设置跳跃循环动画,并设置转换条件,动画过渡比率为0.5,
设置跳跃结束动画,并设置转换条件——当Pawn不在空中,也就是在地面的时候,播放此动画
连接结束动画和一维混合动画,并设置条件,比率为百分之十
在Event Graph中进行逻辑判断
- 当该动画蓝图附加给一个实例化的对象时, Set (Is In Air和Speed才会执行下去);
- 其中Try Get Pawn Owner 是尝试获取场景中存在的Pawn;
- Get Movement Component 是获取该Pawn的Movement组件,通过Movement组件判断该Pawn是否在空中;
- Is Falling正在下落,也就是不在地面,在空中时,返回true;
- Get Velocity获取Pawn的向量速度;
- VectorLength获取向量的长度;
4、MyCharacter角色蓝图之ViewPort
创建角色蓝图,命名为MyCharacter
双击打开MyCharacter,选中Mesh组件,在Details面板中修改Mesh和Animation,使用我们自己的骨骼,使用在第三步中创建的动画蓝图。
使用移动快捷键W,上下移动,得到合适的位置,使用旋转工具,让Character面向淡蓝色箭头
选中CapsuleComponent,在Details面板中修改Shape,使得Capsule Collision组件与Character差不多
添加相机,添加相机之前先给相机添加一个父组件Spring Arm,用于管理相机,修改名字,并在Details面板中的Camera Settings勾选Use Pawn Control Rotation,勾选之后,相机会跟随控制器旋转,这里,我们的控制器是鼠标
选中Movement组件,修改Jump Z Velocity为600,跳的时候,向上的速度就是600了
勾选 Orient Rotation to Movement,当角色发生旋转的时候,旋转的速度会使用上面设置的Rotation Rate
点击Class Defaults ,搜索controller,取消勾选Use Controller Rotation Yaw,使用控制器来旋转Z轴,这里我们会自己来控制,所以不需要勾选
5、角色蓝图之EventGraph
跳转到Event Graph选项卡,删除原有的事件,输入如下节点,这里是控制WASD 行走
添加鼠标输入,鼠标作为控制器,控制着Spawn后面的摄像机依据Spawn的世界坐标系进行旋转。
添加键盘空格键控制角色跳跃的操作
6、创建游戏模式蓝图
创建GameStateBase类型的蓝图,打开后,在Class Defaults的Details面板下,更改Default Pawn Class 改成我们自己的
在主窗口的世界设置的下,更换GameMode
7、运行游戏
按键WASD,空格,鼠标都可以正常运行
Bug解决:
当Pawn跳跃的时候,下落的过程中,主角会抖一抖,落地的时候也会抽搐的样子……
Loop动画需要循环,Start和End动画不需要循环,另一方面,当动画表现不好的时候,修改的动画的相关属性可以得到比较好的表现。
UE4 第三人称完全流程相关推荐
- Blueprints - UE4第三人称游戏角色控制
虚幻引擎4中第三人称游戏相关,UE4中Blueprint相关,个人学习笔记:
- UE4第三人称射击游戏总结一
第三人称和第一人称的区别: 第三人称:镜头在人身后 第一人称:镜头就是眼睛,拿着枪瞎突突 新建项目,创建GameFile文件夹,创建蓝图类的三个类:3P_GameInstance, 3P_GameM ...
- UE4 第三人称人物 目标偏移(Aim offset)学习笔记
今天撸UE4教程时,学到了状态机,其中在学目标偏移时出现了挺多的BP结点,感觉逻辑上对于欧拉角的一些计算上的一些理解需要记一下. 欧拉角 关于欧拉角个人的理解呢,其实和三维坐标系差不了太多,只要根据 ...
- UE4第三人称射击游戏总结二
三,实现人物的射击功能 当前存在的bug:人物向左走或向前走速度是0.7,但是如果前和左一起按,速度变为1.0了,个人感觉是向量叠加了,以后再弄 1,为射击添加子弹 创建一个蓝图类继承actor,添加 ...
- UE4第三人称射击游戏总结三
4,巡逻状态 对于巡逻要设定几个点,敌人在巡逻状态下绕着几个点不断乱转. 在游戏窗口左侧搜素Nav Mesh Bounds Volume,拖动到游戏中,将这个立方体底部和地面相交,按p键发现相交地方会 ...
- UE4导入3dmax模型并在场景中添加第三人称角色
1.3dmax安装Datasmith插件 插件下载位置 https://www.unrealengine.com/zh-CN/datasmith/plugins 2.3dmax导出模型 3.UE4导入 ...
- UE4在第三人称游戏中添加角色和角色的空闲动画
1.首先可以在Mixamo里选择喜欢的人物,下载fbx文件. 2.打开UE4,创建一个第三人称游戏. 3.在内容浏览器里创建文件,命名"Character". 在Character ...
- UE4学习-第三人称游戏的AI巡逻
文章目录 创建一个第三人称游戏工程 复制一个对象,添加到场景 给角色的蓝图添加事件 添加导航网格体边界体积 如果AI不动 创建一个第三人称游戏工程 创建一个工程 这里其实创建蓝图工程和C++工程,并没 ...
- UE4之替换第三人称模板
为什么要替换第三人称模板? 1可以使用我们自己的角色来进行游戏,是不是很有趣呢? 2.了解虚幻中retarget mannager.动画蓝图.动画序列等等,主要是动画模块. 如何替换第三人称模板? 1 ...
最新文章
- libev源码解析——监视器(watcher)结构和组织形式
- Puppet学习之文件管理
- python 字符串形式的列表 转 列表
- python3 list 列表 方法说明
- Java XML解析工具 JDOM介绍及使用实例
- wxWidgets:运行时类型信息 (RTTI)
- wifi信号增强android,WiFi信号增强大师APP
- 【1】生产者-消费者模型的三种实现方式
- js判断时间跨度,以月数为单位
- 亲密关系--【承担情绪】-如何让对方的情绪软着陆
- jQuery ajax get与post后台交互中的奥秘
- window对象小结
- 问卷星指定内容批量自动填写的Python+Selenium+Pandas+Excel解决方案
- 【分享】哪个OS X版本支持哪个Xcode的版本?
- android 显示大屏幕_android android如何将优化的体验带到大屏幕
- mysql中selec sum返回null的解决方法
- 电信和移动差距:关于充话费赠手机的营销对比
- 在线查看.doc,.docx,.ofd,.PDF,.WPS以及Office文档的在线解析方式。
- opencv对视频进行人脸识别--使用videoCapture类
- VM虚拟机启动U盘内镜像