上一次修改时间:2020-02-21 01:04:04

皮皮卡丘兽竞速副本

  1. Character和Pawn类的区别

    Character类自带碰撞,Pawn则默认不带碰撞;

  2. 武器挂载和拖尾特效

    武器为静态mesh,挂载在角色模型的某个骨骼上;

    图片.png

    图片.png

    图片.png

    拖尾特效

    图片.png

    图片.png

    图片.png

    图片.png

    粒子特效时间设置

    图片.png

  3. 角色动画调整,减轻移步

    混合空间里可以设置同步的模式

    图片.png

    1)裁剪前后左右启步动画的帧数,使其帧数差值尽量小,并让其通知帧保持一致,以下都为三组,并且都是以左脚开始;

    Jog_Fwd_Start

    图片.png

    Jog_Bwd_Start

    图片.png

    Jog_Left_Start

    图片.png

    Jog_Right_Start

    图片.png

    2)在动画表现没有什么大问题的前提下,可以通过设置动画播放的启动位置和播放速度来调整

    图片.png

    3)自定义同步事件

    图片.png

  4. 角色动画,角色叠加

    图片.png

  5. 动画通知

    动画通知需要先建通知类,然后在动画上添加;

    图片.png

    在动画序列或蒙太奇里,都可以在某一帧上添加通知;添加后,就可以在动画蓝图的事件里调用;

    图片.png

    图片.png

    通知的两种执行方式

    队列方式的通知一定会执行,但同时有多个通知时,执行会有延迟;

    分支点的方式的通知不会有执行延迟,但如果有多个通知时,其中的某些通知可能不会执行;

    图片.png

  6. Actor组件和Scene组件

    Scene组件有transform信息,而Actor组件则没有;

    图片.png

  7. 相机穿帮问题,需要去掉相机杆的碰撞测试

    问题本身:

    图片.png

    解决方法:

    图片.png

    图片.png

  8. 叠加一个空的姿势,前期用来规范结构,防止叠加后,动画变得乱七八糟;

    图片.png

    图片.png

    图片.png

  9. 自定义蓝图事件

    图片.png

    图片.png

  10. 动画蓝图的继承

    将混合空间变成变量

    图片.png

    图片.png

    改成公开变量,以便在子类中查看

    图片.png

    创建子类动画蓝图后修改公开变量的值,用来覆盖父类的变量

    图片.png

  11. 阻止从蒙太奇动画里跳出

    图片.png

    图片.png

    1为新建的片断名,并将1拉到最右边

    图片.png

    选择默认后,选择播放一次右上面的1,再选择1,继续选择右上面的1

  12. 将死亡动画的混合进入时间改为0

    图片.png

    图片.png

  13. AIPerception组件说明

    敌人类型都要勾选上,否则不会触发相应的事件,看的视线范围函数里,进入和离开会分别触发一次处理函数;

    图片.png

  14. 攻击检测

    1)在根骨骼下创建一个攻击检测点插槽,并将该检测点放到角色前面的适当位置

    图片.png

    2)在攻击蒙太奇动画的某一帧上加上一个攻击通知,并设置该通知对应的起始位置和结束位置的偏移量,用来修改攻击时的检测范围,具体逻辑在该通知的代码中

    图片.png

  15. 下图的曲线是用来解决攻击时的滑步问题的(对应教程里的制作骨骼分离动画)

    图片.png

  16. 防御塔动画

    1)根据塔的骨骼创建动画蓝图;

    2)创建一个状态机(state machines),命名为BasePost,用来存放基础的待机动画;

    图片.png

    图片.png

    图片.png

    注:启动动画里的循环播放一定要取消;

    图片.png

    3)在防御待机动画里叠加塔底部的动画;

    图片.png

    注:叠加方式分为apply additive(常用方式)和apply mesh space additive两种,这两种方式只是计算方式不同,效果相差不大,但需要在动的资源详情里选择对应的叠加方式;

    图片.png

    叠加完成的动画蓝图为

    图片.png

    其中,状态机Panel(叠加底部动画)里用一个变量OpenPanel来控制是叠加打开的动画还是关闭的动画;

    图片.png

    其中,None里为一个空的标识符(additive identity pose),用来保证动画蓝图编译不出错;另外,Panels_Open和Panels_Close动画的循环播放一定要取消,但Panels_Open_Loop的要循环播放一定要打开

    图片.png

    从开始Open动画开始的四个规则为:

    图片.png

    图片.png

    图片.png

    图片.png

    4)在防御待机的状态机里再叠加一个瞄准的状态机

    图片.png

    与叠加底部动画类似,Defensive_2_Aiming和Aiming_2_Defensive的循环播放一定要取消,Defensive_Aiming_Post的循环播放一定要打开,完整瞄准动画的状态机为:

    图片.png

    从Defensive_2_Aiming开始的四个规则为:

    图片.png

    图片.png

    图片.png

    图片.png

    在底部动画的打开后,循环开始时以及关闭动画结束后,增加两个动画事件,用来设置在底部动画播放完毕后,再播放瞄准动画

    图片.png

    图片.png

    图片.png

    5)将BasePost重命名并保存,以便后面调用-------------;

    图片.png

    图片.png

    图片.png

    6)将枪口转向目标方向的两个方法:

    (1)利用Transform Bone计算;

    图片.png

    (2)look at

    创建look at

    图片.png

    图片.png

    其中telescope骨骼为x轴旋转的骨骼

    图片.png

    将look at里的目标显示在节点上

    图片.png

    将Look At Location提升为变量

    图片.png

    编译后的动画为,此时需要重新设置轴向

    图片.png

    图片.png

    其中Use Look Up Axis要勾选上,勾选上后,本骨骼就不会控制Z轴方向;

    图片.png

    将look at复制一份用来设置Z轴转向的骨骼

    图片.png

    图片.png

    图片.png

    注:此时两个look at的变量Look at Location是同一个变量

    7)在动画蓝图里增加一个blend poses by bool,并用IsAiming来控制是播放瞄准的混合动画,还是基本的待机动画

    图片.png

    8)修改规则里的动画融合时间,让动画显示更为平滑;

    图片.png

    9)在动画蓝图增加插槽,用来播放蒙太奇动画

    图片.png

    图片.png

  17. 1