为 Stride Engine 构建的完整动画系统,达到 大多引擎 水准。
引擎版本: Stride 4.4.0+ | 许可: MIT
本项目为 Stride Engine 补齐了 4 个核心动画子系统:
| 子系统 | 目录 | 对标大多引擎 | 文档数 |
|---|---|---|---|
| 动画窗口 | 动画窗口/ | Animation Window | 14 篇 |
| 状态机编辑器 | 动画系统/ | Animator Controller | 10 篇 |
| IK 系统 | IK系统/ | Animation Rigging | 11 篇 |
| 骨骼重定向 | 骨骼重定向/ | Humanoid Avatar | 4 篇 |
引擎内创作动画。录制 Entity Transform + 骨骼动画,Dopesheet 时间线编辑,曲线编辑器,保存为
.sdanimclip资产。
核心功能:录制 → 编辑 → 预览 → 保存 → 运行时播放
📖 动画窗口文档目录
| 文档 | 内容 |
|---|---|
| 01-系统概述 | 架构、布局、数据模型、最新功能 |
| 02-快速入门 | 5 分钟创建第一个动画 |
| 03-录制模式 | 手动录制 (+Key) / 自动录制 (●REC) |
| 04-Dopesheet 时间线 | 关键帧操作、拖拽、删除、洋葱皮 |
| 05-曲线编辑器 | 曲线视图、子分量拖拽、插值切换 |
| 06-播放预览 | 编辑器预览、实体同步 |
| 07-保存与加载 | .sdanimclip 资产、Asset View 集成 |
| 08-运行时播放 | PlayAnimationClip 脚本组件 |
| 09-复制粘贴与撤销 | Ctrl+C/V、Ctrl+Z |
| 10-洋葱皮 | 前后帧 Dopesheet 高亮 |
| 11-AnimatorController 集成 | 动画用于状态机 |
| 12-API 参考 | 完整 C# API |
| 13-故障排查 | 常见问题解决 |
| 14-界面布局 | 窗口各区域命名与说明 |
可视化状态机编辑。拖拽状态节点、连线过渡、BlendTree 混合空间、参数驱动。
核心功能:状态机设计 → BlendTree 配置 → 参数条件 → 多层管理
📖 动画系统文档目录
| 文档 | 内容 |
|---|---|
| 01-GettingStarted | 入门指南 |
| 02-VisualEditor | 可视化编辑器详解(含最新功能) |
| 03-Parameters | Float/Int/Bool/Trigger 参数 |
| 04-StatesAndTransitions | 状态与过渡 |
| 05-BlendTrees | 1D/2D/Direct 混合树(含 2D 可视化) |
| 06-LayersAndMasks | 动画层与遮罩 |
| 07-EventsAndBehaviours | 事件与 StateMachineBehaviour |
| 08-Scripting | 脚本控制 |
| 09-Examples | 完整示例 |
| 10-CheatSheet | 速查表 |
5 种 IK 求解器。运行时 + 编辑器预览、Gizmo 可视化、AnimatorController IK Pass 集成。
| 文档 | 内容 |
|---|---|
| 01-系统概述 | 架构、组件、速查表 |
| 02-TwoBoneIK | 二骨 IK(手臂/腿部) |
| 03-LookAt IK | 头部注视 |
| 04-CCD | 循环坐标下降(尾巴/触手) |
| 05-FABRIK | 前后传递 IK(长链) |
| 06-MultiAim | 武器瞄准约束 |
| 07-AnimatorController 集成 | IK Pass + OnStateIK |
| 08-Gizmo 可视化 | IkTargetGizmo 场景拖拽 |
| 09-API 参考 | 完整 API |
| 10-故障排查 | 常见问题 |
标准人形骨骼映射。自动名称匹配、T-Pose 检测、Muscle 空间转换、实时 + 离线重定向。
| 文档 | 内容 |
|---|---|
| 01-QuickStart | 快速入门 |
| 02-Concepts | 概念说明(Bone/Muscle/Space/Map) |
| 03-API | API 参考(含 BakeRetargetedClip) |
| 04-Examples | 代码示例 |
┌─────────────────────────────────────────────────────────────────┐
│ Stride 动画系统 │
├─────────────┬──────────────┬──────────────┬─────────────────────┤
│ 动画窗口 │ 状态机编辑器 │ IK 系统 │ 骨骼重定向 │
│ │ │ │ │
│ · Dopesheet │ · 拖拽节点 │ · TwoBoneIK │ · Auto BoneMap │
│ · 曲线编辑器 │ · 连线过渡 │ · LookAt │ · T-Pose 检测 │
│ · 自动录制 │ · BlendTree │ · CCD │ · Muscle 空间 │
│ · 骨架录制 │ 1D/2D 面板 │ · FABRIK │ · 实时重定向 │
│ · 3D 洋葱皮 │ · 条件标签 │ · MultiAim │ · 离线烘焙 │
│ · 复制粘贴 │ · 多层管理 │ · IK Pass │ · .sdavatar │
│ · .sdanimclip│ · 复制粘贴 │ · Gizmo │ │
│ · 运行时播放 │ · Undo/Redo │ · 编辑器预览 │ │
└─────────────┴──────────────┴──────────────┴─────────────────────┘
场景中选中 Entity → Ctrl+F12 → ●REC → 移动实体 → +Key → ▶ 预览 → 💾 保存
→ 详见 动画窗口/02-快速入门
Asset View → Add → Animator Controller → 双击打开 → +State → 连线过渡 → 设条件
→ 详见 动画系统/02-VisualEditor
选中角色 → Add Component → IK → Chains → TwoBone → 填骨骼名 → 设目标 → F5
→ 详见 IK系统/01-系统概述
Asset View → Add → Humanoid Avatar → 选 Skeleton → Auto Configure → 赋给 AnimatorComponent
→ 详见 骨骼重定向/01-QuickStart
stride/sources/
├── engine/Stride.Engine/Animations/
│ ├── Animator/ — AnimatorController 运行时 (状态机/混合树/参数/层)
│ ├── IK/ — IK 求解器 + IkComponent + IkTargetGizmo
│ └── Humanoid/ — HumanoidAvatar + BoneMap + MuscleSpace + RetargetEngine
├── engine/Stride.Assets.Models/
│ ├── AnimationClipAsset.cs — .sdanimclip 资产定义
│ ├── AnimationClipAssetCompiler.cs — .sdanimclip 编译器
│ ├── HumanoidAvatarAsset.cs — .sdavatar 资产定义
│ └── HumanoidAvatarAssetCompiler.cs — .sdavatar 编译器
└── editor/Stride.Assets.Presentation/
├── AnimationWindow/ — 动画窗口 (ViewModel + View + Code-behind)
├── AssetEditors/AnimatorControllerEditor/ — 状态机可视化编辑器
└── Preview/AnimationClipPreview.cs — .sdanimclip 资产预览