一种人群路径编辑方法

文档序号:10471965阅读:162来源:国知局
一种人群路径编辑方法
【专利摘要】本发明公开一种人群路径编辑方法,其有效地降低了制作人群动画的复杂性,提高了人群的可控性,既可以在空间上对人群进行编辑,又可以在时间上对人群进行编辑,并且操作简便,大大提高了编辑人群动画的效率。该方法包括步骤:(1)根据用户指定的起点和终点,采用A*算法生成人群路径;(2)根据被选中的人群生成包围被选中人群的包围壳;(3)对人群进行空间形变;(4)对人群进行时间形变;(5)生成人群动画。
【专利说明】
-种人群路径编辑方法
技术领域
[0001] 本发明属于动画仿真的技术领域,具体地设及一种人群路径编辑方法。
【背景技术】
[0002] 近年来,随着国民经济的持续快速增长,国家加大了对于文化产业的支持,整个文 化产业得到了蓬勃的发展。作为文化娱乐市场重要组成部分的中国电影业也取得了长足的 进步。我国已经成为全球第二大电影市场,电影已经成为拉动行业增长的重要力量。
[0003] 然而在影视娱乐中,制作影视特效的目的就是把电影中难W表达的场景,呈现给 观众。或从降低成本的角度考虑,既降低了成本又能给观众带来较好的观影感受。对于包含 大量人群聚集的场面,特别是战争场面,如果采用真实的演员来拍摄,那将给影视制作带来 巨大的成本,而且人员很多不好调度,给影视制作带来了很大的困难。随着计算机技术的发 展特别是计算机硬件的计算性能大幅度提升,使得虚拟现实成为可能,其应用领域也越来 越广泛。目前应用计算机仿真技术来制作电影中宏大的人群场面已经成为较为主流的方法 之一。因此,对如何更真实的生成人群仿真动画,W及如何方便快捷的制作人群动画进行深 入的研究,具有极大的现实意义和实用价值。
[0004] 然而在现有的人群动画的研究中,其主要的研究重点往往放在如何真实地仿真人 群的行为和如何提高计算效率上,例如:基于流体的行人模型,基于元胞自动机的行人仿真 模型,基于粒子系统的行人仿真模型等,却极少把关注点放在群体动画的创建和编辑上,致 使在群体动画的生成和编辑上存在大量手工操作,严重影响了群体动画的制作效率与质 量,例如无法精确控制人群的活动范围,W及特定的人出现在特定地点的具体时间。运无疑 给人群动画的进一步应用和推广上带来巨大的阻碍,一种好的人群动画(人群路径)编辑方 法将会给人群的应用带来巨大的优势。

【发明内容】

[0005] 本发明的技术解决问题是:克服现有技术的不足,提供一种人群路径编辑方法,其 有效地降低了制作人群动画的复杂性,提高了人群的可控性,既可W在空间上对人群进行 编辑,又可W在时间上对人群进行编辑,并且操作简便,大大提高了编辑人群动画的效率。
[0006] 本发明的技术解决方案是:运种人群路径编辑方法,该方法包括W下步骤:
[0007] (1)根据用户指定的起点和终点,采用A*算法生成人群路径;
[000引(2)根据被选中的人群生成包围被选中人群的包围壳;
[0009] (3)对人群进行空间形变;
[0010] (4)对人群进行时间形变;
[0011] (5)生成人群动画。
[0012] 本发明基于尽可能刚性的网格形变,把人的空间位置与人的时间位置分离出来, 用户可W通过操纵人的空间位置和时间位置来精确控制人群,从而有效降低了制作人群动 画的复杂性,提高了人群的可控性,运种方法既可W在空间上对人群进行编辑,又可W在时 间上对人群进行编辑,且操作简便,大大提高了编辑人群动画的效率。
【附图说明】
[0013] 图1是根据本发明的人群路径编辑方法的流程图。
[0014] 图2是空间编辑(无固定点)效果图。
[0015] 图3是空间编辑(有固定点)效果图。
【具体实施方式】
[0016] 如图1所示,运种人群路径编辑方法,该方法包括W下步骤:
[0017] (1)根据用户指定的起点和终点,采用A*算法生成人群路径;
[0018] (2)根据被选中的人群生成包围被选中人群的包围壳;
[0019] (3)对人群进行空间形变;
[0020] (4)对人群进行时间形变;
[0021] (5)生成人群动画。
[0022] 本发明基于尽可能刚性的网格形变,把人的空间位置与人的时间位置分离出来, 用户可W通过操纵人的空间位置和时间位置来精确控制人群,从而有效降低了制作人群动 画的复杂性,提高了人群的可控性,运种方法既可W在空间上对人群进行编辑,又可W在时 间上对人群进行编辑,且操作简便,大大提高了编辑人群动画的效率。
[0023] 优先地,所述步骤(1)包括W下分步骤:
[0024] (1.1)地形组织:每个地形网格中记录组成自己的四个顶点的ID、网格中人的ID、 障碍物ID,通过网格的ID找到对应表示运个网格的四个顶点数据和表格中人的数据,从而 建立起Ξ维地形;
[0025] (1.2)路径生成:在运个用网格表示的Ξ维地形中,根据用户指定生成人群的人数 和人群路径的起点和终点,采用A*算法生成一条从起点到终点的人群路径,再根据人群中 的人数平行地生成指定人数的多条路径。
[0026] 优先地,所述步骤(2)中:
[0027] 被选中的人群的路径用一系列离散的点表示,设Pk为人群路径上的点,v={vi,V2, V3, . . .,Vm}为包围壳上的顶点,则存在对应化的Μν(:{λι,λ2,λ3, . . .,λ。}使点化表示为:
[002引
(巧
[0029] 当包围壳的顶点发生变化新的化表示为:
[0030]
口')
[0031] 其中馬为更新后包围壳的顶点,Pk为计算后新的化点。
[0032] λι的计算公式为:
[0036] 其中邸为 Zvi+i,]3k,vi。
[0037] 优先地,所述步骤(3)包括W下分步骤:
[0038] (3.1)初始化:计算公式(7)中的cf为第t个Ξ角形的周长与运个Ξ角形的第 i条边之比;E1=0,E2 = 0,迭代次数iteration = 0;计算后的包围壳的顶点等于计算前的围 壳的顶点:巧二扔对Ξ角网格中的每个Ξ角形计莫
[0039] (3.2)根据技计算
[0040] ( 3.3 )对Ξ角网格中的每个Ξ角形,计算公式(7 )中的旋转估计矩阵Rt,令
[0046] (3.5)保存上一次目标方程的值E1 =E2,把本次计算的结果赋值给E2;
[0047] (3.6)Iteration = iteration+l ;
[004引(3.7)判断abs化l-E2)< = threshold && iteration〉= 2是否成立,是则执行步骤 (3.8),否则跳转步骤(3.2);
[0049] (3.8)结束。
[0050] 优先地,所述步骤(3)中还包括后续处理:
[0051]空间形变后的人群可能有一些人的速度变得忽快忽慢,,根据公式(12)进行调整
[0化2]
[0053] 其中是形变前人群路径上的点,表示形变后人群路径上的点,At是形变 前人群路径上两点之间的间隔时间。
[0054] 优选地,所述步骤(4)中,当用户拖动时间上的对应点时,应用公式(9) -(11)对时 间上的点进行调整:
[0化7]其中Ed'表示时间形变的程度类似Ed, Ef'控制空间形变的局部化特性,贫为形变后 的包围壳顶点,M6二皮确保用户固定的点或用户拖动的点的值不变;
[0060]其中矩昨Du的结果为时间相邻两节点的差值向量,d是系统默认的差值向量,F巧 的结果表示形变后的时间节点向量,P为形变前的时间节点向量。
[0061 ] W下更详细地说明本发明。
[0062] 在制作人群动画的过程中如何有效地控制人群的行进路径,和行进速度显得至关 重要,如果控制不好就不会制作出高质量的人群动画。但要想精确的控制人群在行进过程 中的运些细节却不是容易的事,它需要花费大量精力进行手工编辑。针对生成人群动画所 带来的大量繁琐的编辑工作,W及无法精确控制人群等问题,我提出了一种新的人群动画 编辑方法,运个方法基于尽可能刚性的网格形变,把人的空间位置与人的时间位置分离出 来,用户可W通过操纵人的空间位置和时间位置来精确控制人群,从而有效降低了制作人 群动画的复杂性,提高了人群的可控性。运种方法既可W在空间上对人群进行编辑,又可W 在时间上对人群进行编辑,且操作简便大大提高了编辑人群动画的效率。
[0063] 1.路径的生成
[0064] 用户可W指定Ξ维场景中任意两点作为起点和终点,并用鼠标点击,系统会根据 用户指定的起点和终点W及用户指定的人群数量生成人群路径。
[00化]1.1地形组织
[0066] 在本专利中Ξ维地形将被离散成一系列的矩形网格,运些网格包含地理信息W及 障碍物信息等。
[0067] 每个地形中格中记录组成自己的四个顶点的ID,,网格中人的ID,障碍物ID等。运 样就可W通过网格ID找到对应表示运个网格的四个顶点数据,和表格中人的数据,从而建 立起Ξ维地形。
[006引1.2路径生成
[0069]在运个用网格表示的Ξ维地形中,用户可W指定生成人群的人数并用鼠标点击人 群路径的起点和终点,然后系统会采用A*算法生成一条从起点到终点的人群路径,最后系 统再根据人群中的人数平行的生成指定人数的多条路径。
[0070] 2.基于网格形变的空间人群路径编辑
[0071] 在基于空间人群路径编辑中,用户可W根据自己的需要用鼠标圈出要编辑的人 群,然后系统根据被选中的人群生成包围被选中人群的包围壳。用户可W拖动任何包围壳 上的顶点W及人群路径上的点对人群进行编辑。
[0072] 2.1基于MVC的人群的路径表示
[0073] 被选中的人群的路径用一系列离散的点表示,设Pk为人群路径上的点,v={vi,V2, V3, . . .,Vm}为包围壳上的顶点,则存在对应化的Μν(:{λι,λ2,λ3, . . .,λ。}使点化可W被表示为:
[0074]
(1)
[0075] 当包围壳的顶点发生变化时新的化可W表示为:
[0076]
(2)
[0077] 其中兩为更新后包围壳的顶点,疚^为计算后新的化点。
[007引 λι的计算公式为:
[00 剧其中旬 ?.为 Zvi+i,pik,Vi。
[0083] 2.2网格形变模型
[0084]当系统生成包围壳后,系统会对其内部区域进行De launayS角剖分,把包围壳所 包围的区域剖分成若干个Ξ角形,从而生成Ξ角网格。当用户拖拽包围壳上的某个顶点时, 可W借助网格形变来调整被选中区域的形状,从而改变人群的移动路径。形变是通过对目 标方程求解得到的。
[0085] 当用户没有固定其他的点仅仅是拖动了包围壳上的点,如图2所示,可W应用W下 方程:

[0086]
[0087] 其中Ed用来衡量网格变形的程度代表变形的能量,引入尽可能刚性的变形能量 (过s-rigid-过s-possible deformation energy):
[008引
[0089] 其中?3?表示Ξ角网格中形变后第t个Ξ角形的第i个顶点,pf对应运个Ξ角形形 变之前的顶点。Rt表示从形变后的Ξ角形到形变前的Ξ角形的旋转估计矩阵。为了增加形 变的局部性效果,我们引入Ef:
[0090]
(7)
[0091] 其中巧是形变后的包围壳的顶点,T为m*n矩阵,m为被选中的人群中路径上的点的 数量与包围壳顶点数量之和,η为包围壳顶点的数量。T的前m-n行为每个人群路径上的点的 MVC系数,后η行与矩阵的η列组成n*n的单位矩阵:
[OOW]
货)
[0093] k为人群路径上的点的数量。C为系数矩阵,距离被拖动的点越近的点其系数越小, 反之越大。Μ为约束矩阵,约束被拖动的点在形变过程中保持不变。
[0094] 当用户固定了其他的点且拖动了包围壳上的点,如图3所示,可W应用W下方程:
巧)
[0095]
[0096] 为使包围壳的边界在形变后保持平滑,引入Es:
[0097] 每=||Ol)-刮I2 (10)
[009引其中D为n*n矩阵:
[0099]
(11)
[0100] 2.3目标方程求解
[0103] 表1
[0104] 2.4后续处理
[0105] 当用户通过网格形变的手段使人群的路径发生改变后,人群中一些人的速度可能 会变得忽快忽慢看上去很不自然。运是由于运些人的路径上的采样点之间的距离变化很剧 烈,然而采样点之间的时间间隔却没有变化造成的。为解决运个问题,引入如下方程:
[0106]
(1苟
[0107] 其中Pi,J是形变前人群路径上的点,表示形变后人群路径上的点,At是形变 前人群路径上两点之间的间隔时间。
[010引 3.时间形变
[0109]用户不但可W拖动空间上的点对人群路径进行操作,也可W对时间进行操作。当 系统对人群路径进行离散采样时,每个路径上的采样点都对应一个时间节点,运个节点表 示人出现在人出现在运个路径上的采样点的具体时刻,所W调整时间节点不但可W调节人 群在某段路径上的速度,也可W控制人出现在空间某点的具体时刻。当用户拖动时间上的 对应点时,应用如下方程对时间上的点进行调整: (13)
[0110]
[0111]其中Ed'表示时间形变的程度类似Ed,Ef'控制空间形变的局部化特性。技为形变后 的包围壳顶点,Μβ二/1确保用户固定的点或用户拖动的点的值不变。
[0114] 其中矩阵0巧的结果为时间相邻两节点的差值向量,d是系统默认的差值向量。 的结果表示形变后的时间节点向量,P为形变前的时间节点向量。
[0115] 本发明提出了把对人群动画的编辑分成在空间上的编辑和在时间上的编辑两部 分,在空间上用户可W对一定范围内的人群路径进行控制,可W随意改变人群路径的走向 从而达到了在空间上灵活控制人群的效果,在时间上用户也可相当灵活的方式编辑人 群,如可W把调整某个时刻对应的时间节点,使某两个节点之间的间隔时间变小,从而使人 群在运段时间内速度变大,也可W使运两个时间节点的距离变大从而使运段时间内的速度 变小。对于某些特定的关键时刻,例如:设定人群中的某人在某个关键时刻必须出现在Ξ维 场景中的某个特定的位置,就可W把空间编辑和时间编辑结合起来,先通过空间编辑把运 个人群路径上的点固定到运个特殊位置,再找到其对应的时间节点,把运个节点拖动到运 个特定的时刻,从而达到了运个复杂的编辑目的。
[0116] 通过W上描述可W看出提出的编辑方法提升路在制作人群动画中对人群的可控 性,并大大简化了人群的编辑操作,使制作人群动画的效率得W提升。
[0117] W上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依 据本发明的技术实质对W上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明 技术方案的保护范围。
【主权项】
1. 一种人群路径编辑方法,其特征在于,该方法包括以下步骤: (1) 根据用户指定的起点和终点,采用A*算法生成人群路径; (2) 根据被选中的人群生成包围被选中人群的包围壳; (3) 对人群进行空间形变; (4) 对人群进行时间形变; (5) 生成人群动画。2. 根据权利要求1所述的人群路径编辑方法,其特征在于,所述步骤(1)包括以下分步 骤: (1.1) 地形组织:每个地形网格中记录组成自己的四个顶点的ID、网格中人的ID、障碍 物ID,通过网格的ID可以找到对应表示这个网格的四个顶点数据和表格中人的数据,从而 建立起三维地形; (1.2) 路径生成:在这个用网格表示的三维地形中,根据用户指定生成人群的人数和人 群路径的起点和终点,采用A*算法生成一条从起点到终点的人群路径,再根据人群中的人 数平行地生成指定人数的多条路径。3. 根据权利要求2所述的人群路径编辑方法,其特征在于,所述步骤(2)中: 被选中的人群的路径用一系列离散的点表示,设Pk为人群路径上的点,v={V1,V2, v3,…,vm}为包围壳上的顶点,则存在对应pk的MVCUi,λ 2,λ3,…,λη}使点Pk表示为:当包围壳的顶点发生变化新的Pk表示为:其中%为更新后包围壳的顶点,卢fc为计算后新的Pk点。 Μ的计算公式为:其中的计算公式为:其中 0/ 为 Z vi+i,pk,Vi。4. 根据权利要求3所述的人群路径编辑方法,其特征在于,所述步骤(3)包括以下分步 骤: (3.1)初始化:计算公式(7)中的4, 4为第t个三角形的周长与这个三角形的第i条边 之比;E1=0,E2 = 0,迭代次数iteration = 0;计算后的包围壳的顶点等于计算前的围壳的 顶点:.夺=妙;对三角网格中的每个三角形计算.(3.2)根据m十算 (3 . 3)对三角网格中的每个三角形,计算公式(7)中的旋转估计矩阵Rt,令(3.4) 根据用户的选择求解并计算公式(5)或(6)其中Ed用来衡量网格变形的程度代表变形的能量:(3.5) 保存上一次目标方程的值El =E2,把本次计算的结果赋值给E2; (3.6) Iteration = iteration+1 ; (3.7) 判断&&8化112)〈 = 1:1^6 811〇1(1&&;^6抑1:;[〇11> = 2是否成立,是则执行步骤(3.8), 否则跳转步骤(3.2); (3.8) 结束。5. 根据权利要求4所述的人群路径编辑方法,其特征在于,所述步骤(3)中还包括后续 处理: 空间形变后的人群可能有一些人的速度变得忽快忽慢,根据公式(8)进行调整其中PU是形变前人群路径上的点,P'^表示形变后人群路径上的点,A t是形变前人 群路径上两点之间的间隔时间。6. 根据权利要求5所述的人群路径编辑方法,其特征在于,所述步骤(4)中,当用户拖动 时间上的对应点时,应用公式(9)-(11)对时间上的点进行调整:其中Ed'表示时间形变的程度类似ED,EF'控制空间形变的局部化特性,β为形变后的包 围壳顶点,MS = ft确保用户固定的点或用户拖动的点的值不变;其中矩阵iHi的结果为时间相邻两节点的距离向量,d是系统默认的距离向量,/5?的 结果表示形变后的时间节点向量,P为形变前的时间节点向量。
【文档编号】G06T13/40GK105825540SQ201610070671
【公开日】2016年8月3日
【申请日】2016年2月1日
【发明人】孔德慧, 张涛, 张勇, 刘浩
【申请人】北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1