3D模型加载与动画处理全解析
1. 数据预处理与缩放
在模型处理中,有两个重要任务。一方面要计算模型的边界框,另一方面在确定最终缩放因子后,将缩放应用于模型数据以及边界框。代码如下:
pJoint->pKF_Position[ ulInner ].vPosition.x /= fScaling;
pJoint->pKF_Position[ ulInner ].vPosition.y /= fScaling;
pJoint->pKF_Position[ ulInner ].vPosition.z /= fScaling;
}
// build ZFXEngine aabb
m_sAabb.vcMin.x = m_sBBoxMin.x;
m_sAabb.vcMin.y = m_sBBoxMin.y;
m_sAabb.vcMin.z = m_sBBoxMin.z;
m_sAabb.vcMax.x = m_sBBoxMax.x;
m_sAabb.vcMax.y = m_sBBoxMax.y;
m_sAabb.vcMax.z = m_sBBoxMax.z;
m_sAabb.vcCenter.x = ( m_sBBoxMax.x - m_sBBoxMin.x ) / 2;
m_sAabb.vcCenter.y = ( m_sBBoxMax.y - m_sBBoxMin.y ) / 2;
m_sAabb.vcCenter.z = ( m_sBBoxMax.z - m_sBBoxMin.z ) / 2;
}
若模型定义了动画(即存在关节),会将顶点复制到主数组 m_pVertices_O
超级会员免费看
订阅专栏 解锁全文
558

被折叠的 条评论
为什么被折叠?



