00
This commit is contained in:
@@ -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中有问题
|
||||
|
||||
5
1Project/海量渲染战斗/GPU动画工程/bindpose.md
Normal file
5
1Project/海量渲染战斗/GPU动画工程/bindpose.md
Normal file
@@ -0,0 +1,5 @@
|
||||
动作文件在导入Unity后会将网格顶点绑定在**蒙皮节点空间**下的坐标储存在bindpose中。
|
||||
- 例如:如果根节点在(0,0,0),骨骼在(0,0,10),网格顶点在骨骼空间坐标为(0,0,1),在导入之后,顶点坐标会被保存为(0,0,11);
|
||||
|
||||
|
||||
- GPU蒙皮动作中,需要将顶点还原为**骨骼节点空间下**坐标后再重新从root开始算
|
||||
Reference in New Issue
Block a user