vault backup: 2026-05-03 20:37:58
This commit is contained in:
24
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/Animation/Animation.md
Normal file
24
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/Animation/Animation.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: Animation
|
||||
date: 2026-05-03 00:00:00
|
||||
excerpt: ARC 引擎动画系统修改分类索引
|
||||
tags:
|
||||
- ARC
|
||||
- Animation
|
||||
rating: ⭐
|
||||
---
|
||||
|
||||
# Animation — 动画系统
|
||||
|
||||
返回 [[ARC引擎修改总览]]
|
||||
|
||||
## 概述
|
||||
|
||||
ARC 引擎的动画系统修改围绕**格斗游戏对帧精确动画的需求**展开。格斗游戏的攻击判定、无敌帧等核心机制要求动画必须以固定帧率精确播放,不能有插值误差。
|
||||
|
||||
## 功能列表
|
||||
|
||||
| 功能 | 文档 | 说明 |
|
||||
|------|------|------|
|
||||
| 常量关键帧压缩 | [[常量关键帧压缩]] | 60fps 帧限动画、4F 间隔校正 |
|
||||
| FBX 导入扩展 | [[FBX导入扩展]] | RED 动画数据、轮廓线 ID、首末帧处理 |
|
||||
76
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/Animation/FBX导入扩展.md
Normal file
76
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/Animation/FBX导入扩展.md
Normal file
@@ -0,0 +1,76 @@
|
||||
---
|
||||
title: FBX导入扩展
|
||||
date: 2026-05-03 00:00:00
|
||||
excerpt: RED 动画数据导入、轮廓线 ID 导入、首末帧处理、XSI 支持
|
||||
tags:
|
||||
- ARC
|
||||
- Animation
|
||||
- FBX
|
||||
- Editor
|
||||
rating: ⭐
|
||||
---
|
||||
|
||||
# FBX 导入扩展
|
||||
|
||||
返回 [[Animation]]
|
||||
|
||||
## 概述
|
||||
|
||||
ARC 引擎大幅扩展了 FBX 导入功能,添加了格斗游戏和卡通渲染所需的专用数据导入支持。
|
||||
|
||||
## RED 动画数据导入
|
||||
|
||||
`bImportREDAnimationData` 选项启用时:
|
||||
- 动画以 60fps 帧限模式导入
|
||||
- 关键帧 snap 到固定帧率网格
|
||||
- 配合 [[常量关键帧压缩]] 使用
|
||||
|
||||
## 首末帧处理
|
||||
|
||||
两个独立选项:
|
||||
- **首帧删除** — 删除动画第一帧(DCC 工具常在第 0 帧放置 T-Pose)
|
||||
- **末帧复制** — 将最后一个关键帧复制到动画末尾(确保循环动画平滑衔接)
|
||||
|
||||
## 轮廓线 ID 导入
|
||||
|
||||
`OutlineIndexUVChannel` 选项指定从哪个 UV 通道导入轮廓线 ID:
|
||||
|
||||
```
|
||||
UV Channel 0 → 标准 UV
|
||||
UV Channel 1 → Lightmap UV
|
||||
UV Channel N → OutlineID 数据(由美术在 DCC 中绘制)
|
||||
```
|
||||
|
||||
导入后的 OutlineID 存储在网格数据中,BasePass 时写入 GBufferD 供 [[RED自定义数据通道]] 使用。
|
||||
|
||||
## 法线导入模式扩展
|
||||
|
||||
新增法线处理模式:
|
||||
|
||||
```cpp
|
||||
// FBXNIM_ImportNormalsAndComputeNormalsToTangents
|
||||
// 导入法线 + 从法线计算切线
|
||||
// (标准 UE4 只有导入法线、计算法线、导入法线和切线三种)
|
||||
```
|
||||
|
||||
## XSI 2015 支持
|
||||
|
||||
扩展 FBX 导入器支持 Softimage XSI 2015 格式的 FBX 文件。
|
||||
|
||||
## LOD 重导入
|
||||
|
||||
骨骼网格和静态网格的 LOD 重导入时保留 OutlineID 数据和 RED 自定义骨骼网格数据。
|
||||
|
||||
## 关联文档
|
||||
|
||||
- [[常量关键帧压缩]] — 动画压缩方案
|
||||
- [[RED自定义数据通道]] — OutlineID 的渲染端使用
|
||||
|
||||
## 修改文件列表
|
||||
|
||||
| 文件 | 修改类型 |
|
||||
|------|---------|
|
||||
| `Source/Editor/UnrealEd/Private/Fbx/` (多个文件) | FBX 导入扩展 |
|
||||
| `Source/Editor/UnrealEd/Public/FbxImporter.h` | 选项定义 |
|
||||
| `Source/Editor/UnrealEd/Private/SkeletalMeshEdit.cpp` | LOD 重导入 |
|
||||
| `Source/Editor/UnrealEd/Private/StaticMeshEdit.cpp` | 同上 |
|
||||
56
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/Animation/常量关键帧压缩.md
Normal file
56
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/Animation/常量关键帧压缩.md
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
title: 常量关键帧压缩
|
||||
date: 2026-05-03 00:00:00
|
||||
excerpt: 60fps 帧限动画和 4F 间隔自动校正,确保格斗游戏帧精确播放
|
||||
tags:
|
||||
- ARC
|
||||
- Animation
|
||||
rating: ⭐
|
||||
---
|
||||
|
||||
# 常量关键帧压缩
|
||||
|
||||
返回 [[Animation]]
|
||||
|
||||
## 概述
|
||||
|
||||
新增 `AnimCompress_Constant` 压缩方案,将动画关键帧限定在 60fps 的固定帧率网格上。格斗游戏的核心机制(攻击判定、无敌帧、帧优势等)要求动画在每一帧的状态都是确定性的,不能依赖插值。
|
||||
|
||||
## 实现
|
||||
|
||||
### AnimCompress_Constant
|
||||
|
||||
```cpp
|
||||
// AnimCompress_Constant.h/.cpp
|
||||
// 常量关键帧插值 — 不做帧间插值,直接使用最近的关键帧
|
||||
```
|
||||
|
||||
核心行为:
|
||||
- 每帧独立存储(不做 delta 编码)
|
||||
- 运行时取值不做线性插值,直接 snap 到最近关键帧
|
||||
- 确保 60fps 下每帧状态与 DCC 工具导出完全一致
|
||||
|
||||
### 4F 间隔自动校正
|
||||
|
||||
Avatar 动画使用 4 帧间隔(15fps 的关键帧),自动校正导入的帧时间到 4F 网格:
|
||||
|
||||
```
|
||||
原始帧: 0, 3, 7, 11, ...
|
||||
校正后: 0, 4, 8, 12, ... (snap 到 4F 倍数)
|
||||
```
|
||||
|
||||
### AnimCompress_Automatic 扩展
|
||||
|
||||
标准 UE4 的 `AnimCompress_Automatic` 也被扩展以支持常量帧模式选项。
|
||||
|
||||
## 关联文档
|
||||
|
||||
- [[FBX导入扩展]] — `bImportREDAnimationData` 控制导入时的帧限处理
|
||||
|
||||
## 修改文件列表
|
||||
|
||||
| 文件 | 修改类型 |
|
||||
|------|---------|
|
||||
| `Source/Runtime/Engine/Public/Animation/AnimCompress_Constant.h` | **新增** |
|
||||
| `Source/Runtime/Engine/Private/Animation/AnimCompress_Constant.cpp` | **新增** |
|
||||
| `Source/Runtime/Engine/Public/Animation/AnimCompress_Automatic.h` | 扩展 |
|
||||
Reference in New Issue
Block a user