实时渲染(第三版):第四章 转换 4.5 变形

来源:互联网 发布:百度云同步盘 mac 编辑:程序博客网 时间:2024/05/21 10:20
 

4.5 变形

    从一个3D模型变形到另外一个有时在执行动画时有用。假设某个模型显示于t0时刻,我们希望在t1时刻将之改变为另外一个模型。从t0到t1的这段时间,是使用某种插值生成的一系列连续的混合的模型。变形的一个示例如图4.13所示。

    变形由两个主要的问题组成,分别叫做顶点对应问题和插值问题。给定两个模型,它们可能拥有不同的拓扑结构、不同的顶点数目和不同的网格连接性,通常不得不从建立顶点对应开始。这是一个难题,已有很多该领域的研究,有兴趣的读者可以参考Alexa的调查。

    不过,如果在两个模型间有一对一的顶点对应关系,那么可以基于逐个顶点执行插值。即是说,对第一个模型中的每个顶点,在第二个模型中必须仅存在一个顶点与之对应,反之亦然。这让插值成为一项简单的任务。比如,可以对顶点直接使用线性插值(启发插值方式参考节13.1)。为计算时间t∈[t0,t1]的变形顶点,我们首先计算s = (t - t0)/(t1 - t0),然后计算线性顶点混合,

m = (1 - s)p0 + sp1,                  (4.57)

其中,p0和p1是对应的两个顶点。

    变形的一个有趣的变种,用户拥有更多直观的控制,通常叫做变形目标或混合形状。基本思想可以使用图4.14解释。


图 4.13 顶点变形。每个顶点都定义了两个位置和法线。每个帧中,中间位置和法线由顶点着色器进行插值求出。


图 4.14 给定两个口型,可以计算出一组差异向量去控制插值,甚至推断。在变形目标中,差异向量用来增加到中性面孔上的移动。使用差异向量的正值权重,我们获得了一个微笑的嘴巴;使用负值权重,我们可以获得相反的效果。

    开始时我们有一个中性的模型,在本例中是一个面孔,我们用N表示这个模型。另外,我们还有一组不同的面孔姿态。在示例演示中,仅有一个姿态:笑脸。通常,允许k≥1个不同的姿态,用Pi,i∈[1,...,k]表示。作为预处理,差异面孔计算为:Di = Pi - N,如,每个姿态减去中性面孔。

    此时,我们拥有一个中性的模型N,和一组差异姿态Di。之后,我们可以使用下面的公式获得一个变形后的模型M:

它是一个中性的模型,只不过我们在它的上面使用权重wi增加了所需的不同姿态特性。在图4.14中,设置w1 = 1呈现完全微笑的面孔,如中间所示。使用w1 = 0.5则是一张半微笑的面孔。也可以使用负的权重和大于1的权重。

    对于这个简单的面孔模型,我们可以增加另外一张拥有“悲伤”的眉毛的面孔。对眉毛使用一个负值权重则可以创建“快乐”的眉毛。既然替换是附加的,该眉毛姿态可关联用于笑口姿态。变形目标是一种强大的技术,给动画制作者提供了很多控制,因为可以互相独立地操作模型的不同特性。Lewis et al. 引入姿态空间变形(pose-space deformation),它组合了顶点混合和变形目标。支持DirectX10的硬件可以使用流输出和其他改进的功能,可以允许在一个单独的模型中使用更多的目标和仅在GPU上执行效果计算。

    一个使用蒙皮和变形的真实示例显示于图4.15中。


图 4.15 角色雷切尔的面部表情和移动受控于蒙皮和顶点变形,它们被使用图形硬件支持所加速。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 用手机号注册的微信换号后怎么办 微信群推送名片很多人加怎么办 志高制冷显示ff怎么办 百度账号手机号换了怎么办 别人盗取手机号的通讯录该怎么办 58简历看不到真实号码怎么办 淘宝更换手机号码说已注册怎么办 系统把qq冻结了怎么办 qq被永久冻结好友怎么办 群发不小心发错怎么办 qq群成员满了怎么办 qq知道密码没手机号验证怎么办 改房本上的名字怎么办 支付宝租给别人怎么办 微信麻将房间卡怎么办 皮肤挤伤了发黑怎么办 指甲被挤了黑了怎么办 手指被挤了变黑怎么办 榆次买房太原户口怎么办 皮肤又红又黑怎么办 打仙桃晃晃老输怎么办 微信支付忘了摇怎么办 苹果手机微信摇一摇摇不了怎么办 打麻将牌背的时候怎么办 打麻将背的时候怎么办 同城游台球初使化失败怎么办 qq密码改忘了怎么办啊 qq头像显示不出来怎么办 qq的重要数据被清理怎么办 把qq数据删除了怎么办 手机qq头像显示不同怎么办 手机qq图片显示不出来怎么办 微信群聊右上角双人头像没了怎么办 支付宝好友没了怎么办 手机qq好友头像没了怎么办 微信语音变成听筒模式怎么办 微信语音为听筒模式怎么办 微信设置成听筒模式怎么办 微信验证看不全怎么办 qq看视频无法放大怎么办 苹果6功能键坏了怎么办