| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 【UE4高级运动系统学习(一)】浅谈高级运动系统的动画蓝图 -> 正文阅读 |
|
[游戏开发]【UE4高级运动系统学习(一)】浅谈高级运动系统的动画蓝图 |
浅谈高级运动系统的动画蓝图推荐学习视频:深入浅出 高级运动系统 一、动画蓝图状态机打开高级运动系统的状态机,映入眼帘的就是这张蓝图结构,看起来十分复杂,但是整体的框架结构还是比较清晰的,根据作者的注释,我们可以逐步拆分这些内容。
1. 整体构造通过图中可以看到,整体动画的混合逻辑如下
这里可以看到主要的动画切换逻辑都是在分层混合中实现,后面的3种混合都是为了让结果更加合理精确,那我们详细看一下分层混合的逻辑 2. 基础动画混合实现——Layer Blend这里可以看到作者最外层分成了3层
并将这三层的结果进行混合计算,混合模式如下 混合的计算这里看起来比较复杂,我们可以先跳过,大概只要知道是通过输出的这三个结果进行了一个混合,得到最后的动作结果就行 2.1 BaseLayer——基础动画层打开BaseLayer,能看到以下蓝图,这里作者分了好几种状态进行输出 因此我们首先看站立状态的输出逻辑 ① Locomotion Satets最基本的动画状态,检测是否有移动行为进行切换 注:这里的RotateLeft/right状态是属于自动朝向旋转的逻辑,由于不使用这里不多做介绍
② Locomotion Detial进入移动行为后就会进入到这个状态机中 注:在Running上面的2个Pivot状态可以忽略,正常情况不会用到
可以看到不管是步行状态还是奔跑状态,最终的输出都是根据Locomotion Cycles的结果输出的,那主要的移动动画逻辑应该都在Locomotion Cycles中 ③ Locomotion Cycles
对于正常的移动行为来说,其实只是输出了 前方向运动的最终动画结果,这个姿势被设置为Locomotion Cycles的结果 ④ Main Movement States——BaseLayer层的输出姿势
2.2 OverLayer——叠加动画层保持基础动画的同时,叠加其余姿势,例如:一边拉弓一边走 通过用设定好的曲线进行姿势混合得到最终结果,根据不同的状态(站立/蹲伏)或者行为(朝向变化)以及一些参数调整得到最终的姿势并输出 2.3 BasePoses——基础姿势单纯的输入角色基础的站立动画姿势,用于之后计算 3.Apply Offsets——应用瞄准偏移等功能处理头部转向等相关逻辑 4. IK相关5. 布娃娃相关二、移动转身优化1. 原本移动操作的转身逻辑——通过插值和按下的时间计算目标旋转点
2. 修改目标:每次操作结束都会转到对应的位置(与原神操作手感一致)同比原神的转身逻辑,每次操作后都会转到对应的位置才停下,如果打断了会立刻改变,转身效果会稍微有点硬,但是比较合理,修改了以下3点
三、冲刺相关优化
四、AI使用待更新 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 16:23:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |