欢迎来到天天文库
浏览记录
ID:61751086
大小:30.00 KB
页数:5页
时间:2021-03-18
《三维角色动画设计论文.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、三维角色动画设计论文一、相关工作在骨架提取方面,已经有很多自动生成骨架的方法。①②③Baran等的Pinocchio系统创造性地提出了骨架嵌入的方法。在自动角色动画方面,骨架嵌入比骨架提取要好的原因是对于复杂骨架的角色,骨架提取可能会产生不同的拓扑结构,这就让使用者很难将原来有的骨架运动数据运用到其中来。虽然可以通过附属肢体模板来鉴别复杂的附属肢体,但是由于拓扑结构的复杂性,自动生成时也会产生各种不同的误差。骨架嵌入相对于骨架提取的另一个优势就是它能够在骨架中定义角色所需要的很多的结构信息,这是在提取的纯几何骨架图中难以得到的。几乎
2、所有的网格变形技术,无论是基于表面的还是基于体积的,都可以用来作为基于骨架运动动画中的对表面进行蒙皮。④⑤不幸的是,到目前为止,这些方法都不能实现实时的动画。Baran等的线性混合蒙皮(LBS)具有简单高效并且能够利用GPU进行运算,并可以根据骨架进行子空间变形等优点。虽然在质量上的不能够达到很好的效果,但是它仍然成为在实践应用中最常用的方法。所以我们的系统采用该方法。⑥二、原型系统设计设计过程对于输入的三维角色模型,我们首先嵌入骨架,然后通过定义骨骼运动对表面网格上每个顶点的变化的影响权值,将表面皮肤依附在骨骼上。对于不同的角色,
3、我们建立不同的罚函数去惩罚那些我们不期望的骨架嵌入方式。基于样本用支持向量机的方法求得最大边缘解,然后对不同罚函数赋予不同的权值。用人工智能中A*启发式的方法在指数级的搜索空间里加速寻找最优的骨架嵌入方式。在蒙皮阶段用热扩散方程的方法去计算骨架运动时每一块骨骼对表面网格上顶点的影响权值。据骨架的变化情况,插值计算出骨架的“蒙皮”模型的各个顶点的位置变化。对于某个特定骨骼,“蒙皮”模型的顶点变换矩阵=初始姿势的变换矩阵的逆×姿势变换后的矩阵。另外还要考虑到一个顶点可能受多个骨骼运动的共同影响。5学海无涯1.骨架嵌入由于骨架嵌入需要将骨
4、架重新定义大小和定位使得它能够正确的嵌入到模型当中,所以它能公式化为一个优化的过程:计算关节点的位置和朝向使它能够更好的适合于给定的模型。但是这个优化是一个三维空间的问题,所以连续优化的方法是不可行的。因此可以建立一个用顶点表示潜在关节点,用边表示独立的骨骼的图来简化优化问题。建立这样一个图是具有一定挑战的,因为我们可以用未知数量的顶点和边来表示相同模型的关节和骨架。我们在近似模型垂直等分的平面上建立中轴面,并且建立圆心在中轴面上的圆的一个特定的集合,将这些图的圆心连接起来形成一个图。然后使用自定义的离散的罚函数来最优化的骨架嵌入这
5、个图。为了帮助优化,在给定的骨架中可以包括一些关节点的额外的信息。比如说对称的部位应该以相同的名称命名,又比如如果一个关节被命名为脚,那么就表示它应该事在模型中位置最低的一个关节。由于定义的罚函数是独立于具体的模型的,所以并没有减弱它的通用性。2.简化骨架前面的步骤建立了几何图G=(V,E)来表示骨架,我们需要将它嵌入到我们给定的骨架当中。给定骨架原先是以有s个节点的树的形式给出(在一般人形的骨架上会取s=18),但是如果这s个节点没有经过简化,嵌入的优化过程是很难处理的。因此我们需要一个简单的骨架,所以在嵌入骨架之前,需要将骨架简
6、化。所有的自由度为2的关节都将被除去(比如说膝关节),关节两端的骨骼块被连在一起。简化后的骨架将会只有r个连接点。那么骨架嵌入以后缺少某些必要关节的骨架怎么让角色动起来呢?我们根据未简化骨架上关节在整条边上的比例,重新计算出该关节在简化骨架上的位置,然后插入到骨架中。在我们的系统中,简化的骨架中r=7。简化后的结果就是我们可以将简化的骨架嵌入到系统中以最小化罚函数惩罚的对象。否则这样的工作是很难实现的。3.离散的嵌入骨架和优化5学海无涯一般不可能计算离散的嵌入方式时使罚函数最小,因为嵌入的数量是指数级的。但是可以用类似分支定界的方法
7、在问题的解空间树T上搜索问题解。我们使用这样一种方法:首先根据部分嵌入的下界估计保存优先级队列。然后在每一步,取出在队列中最好的部分嵌入,将它展开,与下一个关节进行计算,然后将结果保存在队列中。所以,第一个被完整展开的嵌入就是最好的嵌入。为了加速算法并且尽可能少的占用内存,如果部分嵌入有一个很高的下界,那么它将被立即拒绝并不在嵌入到队列中。虽然这种算法在最坏的情况下依然是指数级的,但是在我们测试实际情况它都是很快的。在骨架嵌入前将骨架进行了简化,省略了很多的关节,比如说膝关节,但简单骨架嵌入以后,要让角色真正的动起来,还是需要重新插
8、入这些关节。在这里可以通过按比列分割骨架图中路径最短的边来得到。我们希望嵌入后的骨架能够很好的满足角色的形态比列,但是,有时候骨架并不能很好的适应我们的角色。同时,一些小的被忽略的骨骼块并没有被赋予正确的朝向。骨架优化的过程就是为了解
此文档下载收益归作者所有