This commit is contained in:
Zane
2026-02-06 13:00:17 +08:00
parent 80b8623c1e
commit 1c18da934a
7 changed files with 2007 additions and 68 deletions

View File

@@ -22,13 +22,22 @@
你的当前顶点动画管线可以直接作为“LOD 动画层”保留,不与 GPU Skinning 冲突,只要切换 Renderer/Material 即可。
#### 蒙皮动画需要记录的数据有哪些?
- 一张原始网格的Vector3数据贴图
- 收集骨骼和骨骼索引
- 重映射后的骨骼索引
- 如果之前
- 一个动作
- 该动作中骨骼每帧的坐标旋转
- 会在Shader中计算**混合骨骼**后的TRS * 原始网格的TRS
-
- 收集[[bindpose]]
- 收集全局骨骼索引
- 根据不同的蒙皮组件需要的骨骼,重新映射索引
- 为什么需要这个?
- 身体的骨骼索引索引分别是1、2、3、4
-
- 肩膀
- 手臂
- 手掌
- 而手臂为索引为3、4
- 手臂
- 手掌
- 该动作中每个网格的顶点计算:
- Root在世界空间坐标的TRS
- 每根骨骼还原[[bindpose]]
- **混合骨骼**后的TRS * 原始网格的TRS
#### 蒙皮动画不同部位索引的问题
- 蒙皮的骨骼索引在cpu中无问题在gpu中有问题

View File

@@ -0,0 +1,5 @@
动作文件在导入Unity后会将网格顶点绑定在**蒙皮节点空间**下的坐标储存在bindpose中。
- 例如:如果根节点在(0,0,0),骨骼在(0,0,10),网格顶点在骨骼空间坐标为(0,0,1),在导入之后,顶点坐标会被保存为(0,0,11);
- GPU蒙皮动作中需要将顶点还原为**骨骼节点空间下**坐标后再重新从root开始算