3D动画基础

游客

标题:3D动画基础
正文:
顶点动画3D动画本质上是模型的顶点轨迹，因此要记录一段动画，最原始的办法就是记录动画过程中所有的顶点信息。但由于肉眼的识别速度和GPU的处理能力都有限，因此有了桢(frame)的概念，帧是模型特定姿态的一个快照。为了进一步减少动画桢的内存占用，我们可以从动画的轨迹中提出中关键帧，保存每一个关键帧的模型网格信息，由引擎来得到平滑的动画效果(关键帧过渡)，在关键帧之间平滑过渡的帧叫过渡帧或插值桢。骨骼动画针对于人/动物等具备骨骼特征的模型动画的一种优化，由于人的皮肤相对于其所属骨骼的相对偏移固定不变，因此皮肤顶点的空间位置可由其骨骼位置加上其相对偏移得到，所以我们无需记录皮肤上每个顶点信息，而记录对应的骨骼信息，这样我们实际得到的是一段简化版的&rdquo;线段动画&rdquo;，谓之骨骼动画。由于骨骼与骨骼通常只有相对角度，没有相对位移，比如手掌不会脱离肘，因此我们无需单独记录每个骨骼的位置信息，只需记录骨骼与其父关节的相对角度，比如手掌的父骨骼为肘，肘的父关节为臂等，这样，我们需要为模型指定一个根骨骼(比如人体的脊椎)，根据根骨骼的位置即可以推算出所有骨骼的位置，以完成正确渲染，为模型顶点绑定其内在骨骼的过程叫做蒙皮(skining)，有些顶点可能需要绑定在多个骨骼上，比如关节处的皮肤。骨骼动画为动画插值运算，逆向运动学得提供了可行性基础。关于骨骼动画更多参考：http://www.cnblogs.com/kex1n/archive/2011/10/11/2207546.html动画过渡在给定的时间内，从一个动画平滑过渡到另一个动画的过程，叫做动画过渡，如在0.2s内，将动画从A切换到B，若动画A当前帧为FA1，动画B起始帧为FB1，我们用F1(W1)+F2(W2)表示一个插值桢，设过渡桢为10桢，那么这里有两种过渡方案：首尾插值：动画引擎将随时间调整FA1，FB1的权重，对其插值融合，得到插值帧：FA1(1)+FB1(0), FA1(0.9)+FB1(0.1) &hellip; FA1(0)+FB1(1)。交叉插值：动画一边过渡一边插值：FA1(1)+FB1(0), FA2(0.9)+FB2(0.1), &hellip; FA11(0)+FB11(1)动画融合在美术导入的资源中，只有每个模型的基本的动作，比如走，跑，跳等，而真正运动中需要的远不止这些，比如我们还需
[<<][[1]][2][3][>>]

查看评论(0)
发表评论

首页