这门课程专为游戏开发者定制,从详细的解释和指导开始,帮助你创建使用控制架 Control Rig 的程序化动画系统。你会逐渐探索 Control Rig 的各种特性,同时创建程序化行走系统,并在环境中试验角色互动和逼真移动。

接下来,我们将深入探讨创建一个程序化原地转向动画系统,涵盖故障排除、微调以及逐步逻辑发展。项目文件包括 Unreal Engine 5.2 和 5.3 版本的所有创建的成品,计划在 5.4 版本发布后进行更新。Control Rig for Unreal Engine 5

所涵盖的技术适用于单人和多人项目,以及 UEFN(Unreal Engine for Networking)。虽然在 UEFN 中目前无法访问 animBP,无法与关键帧动画结合,但在 Control Rig 中探索的大部分概念仍然适用。

这门课程提供了从多年与 Control Rig 和程序化动画系统实验中获得的独家见解和知识。我的目标是将这种经验提炼为一门容易理解的课程,提供每一步的解释和图表,帮助你掌握 Control Rig,用于自己的程序化和动态动画。

我急切期待你参与这门课程,鼓励你分享你的创作和想法。我很乐意就概念、想法或任何项目的帮助与您讨论,即使你的具体使用案例在这门课程中没有直接涵盖。

由Lincoln Margison创建
MP4 | 视频: h264, 1280×720 | 语言:英语+中英文字幕(云桥网络 机译)| 时长: 80 讲座(7小时15分钟) | 大小: 7 GB 含课程文件



在开始之前,我想向您概述整个过程的每个阶段,以便您了解接下来会发生什么、我们的目标是什么,并提供一些有用的故障排除技巧。

在第一部分中,我们将为这个蝎子角色模型创建一个行走系统。首先,我们需要计算角色的速度,这样我们可以预测蝎子的运动,并根据运动速度控制腿部抬起高度等变量。为此,我们将记录角色之前的位置,并将其与当前位置进行比较,以计算出每秒的移动速度。

接下来,我们将遍历角色的所有六个脚部键,并使用全身弧解算器将这些键移动到指定的目标点。解算器将调整角色的身体和四肢以达到这些目标点,从而锁定所有脚的位置。当角色移动时,它会保持锁定在原地。

然后,我们将创建一个计时器,它将充当一个循环,决定何时锁定和解锁脚的位置。我们会为每只脚设置不同的时间偏移,使它们不会同步移动,而是依次移动。通过将每只脚的循环时间偏移不同的百分比来实现这一点。

之后,我们将结合计算出的移动速度,使角色能够预测未来的移动位置,从而沿着移动方向前进。接下来,我们将使腿部呈弧形抬起,以创建更逼真的动作。我们将使用球体追踪器来检测高度变化,以调整着陆点,使角色能够越过障碍物。

最后,我们将对动画进行整体调整,包括添加额外的身体动作、调整变量以及改进头发,使角色能够在各种环境中移动。完成本节后,我们将向您展示如何将动画系统移植到另一个角色,并继续了解 Control Rake 的更多功能,以及一些可以与常规关键帧动画结合使用的用例示例。

在向您展示如何处理和实现该系统之前,您将面临创建自己的原地动画系统的挑战。课程开始时会逐步引入概念,因此如果您有使用虚幻引擎或动画的经验,可能需要加快一些早期视频的速度,但建议不要跳过任何部分,因为后续内容将基于前面的知识进行构建。


课程目录:
1. 简介
01. 简介和概览
02. 基本提示和故障排除

2. 创建过程化行走循环
01. 初始角色蓝图设置
02. 初始动画蓝图设置
03. 创建ControlRig类
04. 使ControlRig做些什么
05. 创建FootNames数组
06. WorldSpace与RigSpace解释
07. 将默认脚部变换保存到新数组中
08. 使用DrawTransform可视化脚部变换
09. FullBodyIK节点解释
10. 将一条腿添加到解算器中
11. 将其余腿部添加到解算器中
12. 先保存!塌缩为一个函数
13. 将世界变换转换为解算器空间变换
14. 解释我们将如何计算速度
15. 创建CalculateVelocity函数
16. 计算角色在世界中移动的距离
17. 计算角色每秒移动的距离并绘制出来
18. 平滑计算的速度
19. 向计算速度函数添加注释
20. 循环解释
21. 创建CalculateCycle函数
22. 使用打印节点测试我们的循环
23. 创建MoveFeetTransforms函数
24. 创建FootLocked布尔值数组
25. 脚部是锁定还是解锁的逻辑
26. 创建Swing Percent和解锁条件
27. 解锁逻辑和锁定条件
28. 包含并测试MoveFeetTransforms函数
29. 使解锁的脚快速回到默认姿势位置
30. 创建脚部时间偏移数组
31. 创建PerFootCycle数组
32. 使用PerFootCycle而不是Master Cycle
33. 摆动阶段的基本插值
34. 创建脚部预测函数
35. 在速度方向前向投影着陆点
36. 根据直到脚着陆的时间长短来缩放预测时间

37. 根据角色的移动速度更改循环速度

38. 创建步长变量,并计算以秒为单位的循环时间
39. 将脚的起飞点保存到WorldLockedFootTransforms数组
40. 根据循环准确地在起飞点到着陆点之间进行插值
41. 使用自定义曲线使腿部弧线抬升
42. 根据移动速度确定抬升高度
43. 脚印计划概览
44. 每个着陆点的基本踪迹
45. 随机身体动作和一般改进
46. 更高级踪迹的解释和在景观上的测试
47. 实施更高级的踪迹

3. 将控制系统移植到另一个角色
01. 将过程化动画系统移植到另一个角色
02. 为新角色更改变量

4. 各种ControlRig功能和过程动画提示
01. 使用控件移动角色
02. FullBodyIK设置和插值控制目标
03. Value Over Time延迟运动
04. 在何时何地如何使用BasicIK节点代替FullBodyIK
05. 查找主要和次要轴
06. 自动计算极坐标(vector)
07. 使骨头朝着特定方向
08. 用各种加权和插值设置更多骨头瞄准目标
09. 随机化目标点
10. 用胸部缩放模拟角色呼吸
11. 结合空闲动画创建一个字符类
12. 使角色在实际游戏级别中瞄准一个位置

13. 创建可在任何其他ControlRig中使用的功能
14. 创建RotateAroundPoint函数,以在RigSpace中旋转
15. 在围绕点旋转时包括平移变化
16. 创建一个在原地旋转单个骨骼的函数

5. 转身动画系统
01. 挑战、目标和起点
02. 保存累积的旋转
03. 抵消角色的任何旋转以保持相同的世界旋转
04. 使脊椎始终朝正确方向
05. 添加解算器并启动旋转计时器
06. 补偿总旋转偏移的部分
07. 将计算应用到角色上查看结果
08. 调整每只脚的旋转时序
09. 查找问题并改进的下一步骤
10. 解决问题
11. 朝着植入脚的重心转移
12. 使移动更自然和有弹性
13. 故障修复、完成和展望未来

发表回复

后才能评论