第三人称的射击
可以参考:
90天入门UE引擎开发--学习日记(31/100)_不要积累问题的博客-CSDN博客_ue引擎路径前面如果有黄色感叹提示,说明本视频只是通过地址来访问的,并未真正导入,打包工程时也不会有这个视频。(ue4只支持简单的mp4、avi等视频的导入渲染,更高清的需要用到解码器。二:警戒状态:警戒范围内灯光变红,触发警报,锁定目标。闪光灯类蓝图中写由接口触发的事件。接口的概念:对象给别的对象插上接口,传递信息。接口的概念:对象给别的对象插上接口,传递信息。方法1:创建变量(吃金币得分的关联)(摄像机把人物的距离信息告诉门和灯)方法1:创建变量(吃金币得分的关联)里面调用接口:。https://blog.csdn.net/weixin_42229060/article/details/127032628新建一个角色类BP_MyThirdPP,放入新手包的小白人(调整好位置旋转,胶囊碰撞体的大小)
启动控制玩家设置为 玩家0
添加动画蓝图
添加摄像机和弹簧臂组件
制作一下运动控制(跳跃和蹲伏的运动需要我们自己制作)
创建动画蓝图,重命名ABP_MyThirdPP
在动画蓝图里做些初始化的变量
制作状态机
动作混合空间BlendSpace
详细介绍
选择二维混合空间,选取对应骨骼,重命名为BS_TPPMove
根据不同的方向 以及 速度,拖入合适的动画
左shift键冲刺加速功能
jump动作
先制作一个一维混合空间动画BS_TPPJump
新建一个枚举E PlayerMoveState,用来表示玩家的状态
新建一个枚举类变量MoveState
用一个MoveVector的二维向量记录平地运动时的速度状态
新建一个枚举变量PlayerMoveState,通知改为RepNotify
On Rep Player Move State函数是在PlayerMoveState设置为RepNotify时产生的
下蹲
左边:-90;右边90;前边:0;后边:+-180
新建一个二维混合空间BS_ TPPCrouch
小tips:
如果觉得动画速度太慢,可以通过加大比率范围提高速度
捡枪:
新建一个actor组件,重命名为UseGunComponent,记得要放到我们的玩家蓝图下
在里面添加一个函数PickupGun
PickupGun函数
第二把枪放在腰上
打开一个equip枪的动画,接下来我们要新建里一个背包放枪(放第二把枪)的socket位置
在32s(这个事件需要注意,应该找松开手的位置比较精确。另外之后换枪动画还需要用的这个时间点,避免别的时间点换枪的时候会发生突然跳一下的不好的效果)
在spline上新建一个socket,预览来福枪的模型,调整到差不多位置
枪的部分
开火
找到fire相关的动画资产(Fire_Rifle_Hip)创建成蒙太奇,重命名为FIre_Rifle_Montage
打开蒙太奇:
在通知栏新建通知Fire
对下面的蒙太奇动画提升变量,重命名为MontageFireAnim,默认值放入刚刚做好的蒙太奇Fire_Rifle_Montage
添加枪的粒子动画
在设计蒙太奇动画里新建一个通知轨道,加上定时粒子效果(Timed Particle Effect)
右上角选择粒子类型,以及火花出来的插槽口。将动画的混入混出都改为0
将动画蓝图中新建一个默认插槽(非常重要的一步,不然动画无法调用的)
瞄准偏移
原理
虚幻引擎中的瞄准偏移 | 虚幻引擎5.3文档 (unrealengine.com)
步骤
新添加一个瞄准偏移,重命名为AO_LoopFire
找到Aim_Space_Hip动画,复制一个到新的文件夹(之后用来装不同方向截取的动画片段)
复制9份(前、前上、前下、左、左上、左下、右、右上、右下)
CenterCenter位置:只保留第一帧
CenterUp位置:保留中上一帧位置
其他同理设置其他的单帧。完成之后,批量编辑
设置AO_LoopFire
重命名横纵坐标的坐标名称,以及最大最小值
按住Ctrl可以拖动绿点
*Rinterp to 插值过渡节点:已知两点,将两点的线平滑过渡