布料动画制作数据结构及渲染三维图形数据的设备和方法技术

技术编号:2948707 阅读:189 留言:0更新日期:2012-04-11 18:40
布料动画制作的数据结构和通过使用该数据结构来反映3D图形数据的设备和方法。数据结构包括:垂直粒面域,沿布料的二维网孔垂直轴的粒面;水平粒面域,沿布料二维网孔的水平轴的粒面;高度域,布料二维网孔的高度;宽度域,布料二维网孔的宽度;和物理特征节点,作用于布料上的外力和内力、由于这些力所引起的布料位移、布料位移的物理特征值。3D图形数据渲染设备包括:分析器,用于输出通过从具有用于布料动画制作的数据结构的3D图形数据中识别节点和分析域的场景图;计算器,用于从场景图的节点和域来计算用于布料动画制作的物理量,和输出包括所计算物理量的场景图;和转换器,用于把包括所计算物理量的场景图转换成2D图像并且输出该2D图像。

【技术实现步骤摘要】

本专利技术涉及三维图形数据的渲染(rendering),特别是涉及用于布料动画制作的数据结构,其实时逼真地动画制作布料,和用于使用该数据结构来渲染三维图形数据的设备和方法。
技术介绍
为了从存储三维(3D)图形数据的文件中读取数据和把数据输出到显示屏,需要一个设备来分析3D图形数据并且把3D图形数据记录在视频存储器上,视频存储器储存将被输出到显示屏上的数据。通常,该设备被称作3D图形渲染引擎。通常,3D图形数据包括位于三维空间中对象的几何结构信息、对象的材料、位置和光源特征,以及这类信息随时间的变化。对象的几何结构信息的例子包括组成对象的3D固定点的位置、固定点链路等等。对象的材料信息的例子包括色彩、表面光折射等等。这类信息用直观地或逻辑上可理解的结构来表示,因此用户可以容易地建立和修改3D图形数据。该结构一般被称作场景图,其具有一个非周期的树状结构。场景图由节点组成,节点包括对象的几何结构信息或材料信息,以及节点链路的信息。换言之,节点是场景图的其中一个基本元件。域定义节点的特殊特征。近来,随着用于3D图形数据的渲染处理器在性能方面的提高,对于更实际地表示正常对象的希望也随之增加。常规的3D图形技术具有以简单方式表示的动画三维模型。近年来,适合于虚拟环境和通过表现自然现象来表示显影机的想象力已经变得容易实现,比如流水、风、和烟、以及人的头发或衣服的运动。在表现布料的运动中,布料的固有特征和比如重力、风、加速和空气阻力等的外部物理因素二者都必须被考虑到。另外,布料与外部对象的接触影响应该也应考虑到。近来,在动画制作中考虑这些物理因数的很多方法已经被建议。然而,因为所建议的方法用它们自己的格式来执行,所以不可能渲染和动画制作通用的3D图形模式。另外,由于对象的复杂的物理性质,用户很难执行动画制作创作。另外,因为它们使用的格式不同,其渲染工具和创作工具是不可兼容的。另外,在所创建的模式不能被再使用也是一个问题。
技术实现思路
本专利技术提供用于布料动画制作的数据结构,其定义了用于在商业性计算机程序中逼真和实时的布料动画制作的节点和域(field),这些程序比如虚拟现实模型建立语言(VRML)、动态图像专家组(MPEG)、3D MAX、Maya等等。本专利技术还提供了用于渲染3D图形数据的设备和方法,其通过使用布料动画制作的数据结构而把3D布料模型渲染成一个2D图像。根据本专利技术的一方面,提供了用于布料动画制作的一个数据结构,包括垂直粒面域,其定义沿着布料二维网孔的垂直轴的粒面;水平粒面(granulation)域,其定义沿着布料二维网孔的水平轴的粒面;高度域,其定义布料二维网孔的高度;宽度域,其定义布料二维网孔的宽度;和物理特征节点,其定义计算物理特征值,该物理特征值被用于计算作用于布料上的外力和内力、受力引起的布料位移、和布料与对象碰撞所引起的布料位移。为了计算作用于布料上的外力,物理特征节点可以包括重力加速度域,其定义用于计算重力加速度的;风速域,其定义用于计算空气阻力的风速;缓冲系数域,其定义用于计算外部缓冲力的缓冲系数;和空气阻力系数域,其定义用于计算空气阻力的阻力系数。另外,为了计算作用于布料上的内力,物理特征节点可以包括最大伸长域,其定义链接由布料二维网孔所组成点阵上聚集点的弹性的最大伸长;平面阻力系数域,其定义链接点阵中每个聚集点和其右、左、上、下的邻近聚集点的弹性的阻力系数;移动变形阻力系数域,其定义链接每个聚集点和其对角线方向上的邻近聚集点的弹性的阻力系数;和扭转阻力系数域,其定义了链接每个聚集点和其右、左、上、下的每两个邻近聚集点的弹性的阻力系数。另外,物理特征节点可以包括一个逆聚集域,其定义点阵中用于获得计算由于作用于布料上的力而布料位移所用的加速度的每个聚集点的逆聚集。另外,物理特征节点可以包括一个时隙域,其定义用于计算布料位移的时隙。数据结构还可包括固定边缘域,其定义被固定的布料的网孔边缘。另外,数据结构可能还包括用于计算由于布料与对象的碰撞所引起的布料位移和用于表现该对象的碰撞节点。碰撞节点可包括一个摩擦系数域,用于计算对象和布料相碰撞点的移动速率;一个运动学节点,其定义和布料碰撞的虚拟对象;和一个可见形状节点,实际上用于表现同布料相撞的对象。根据本专利技术的另一方面,提供了一个3D图形数据渲染设备,包括分析器,用于输出一个场景图,其通过从具有用于布料动画制作的数据结构的3D图形数据中识别节点和分析域所获得;计算器,用于从场景图的节点和域来计算布料动画制作的物理量和用于输出包括所计算物理量的场景图;和转换器,用于把包括所计算物理量的场景图转换成一个2D图像并且输出该2D图像。计算器可包括一个布料识别单元,用于识别场景图中布料的节点;一个布料网孔创建单元,用于根据节点和域的值来创建布料的网孔;一个碰撞对象识别单元,用于识别是否存在同布料相撞的对象;一个碰撞检测单元,用于检验是否布料同该对象相撞;一个物理量计算单元,用于计算表现作用于布料上的内力和外力和由与该对象碰撞引起的布料位移的物理量;和一个布料网孔变形单元,用于通过把物理量计算单元所计算出来的布料位移施加到布料网孔而使布料结构变形,并且输出包括该物理量的场景图。碰撞检测单元可以检测布料是否同由运动学节点所定义的虚拟对象相撞。另外,当布料同运动学节点定义的虚拟对象相撞时,碰撞检测单元可以检测碰撞点的位置。根据本专利技术的另一方面,提供了一个3D图形数据的渲染方法,包括输出一个场景图,其通过从具有用于布料动画制作的数据结构的3D图形数据中识别节点和分析域而获得;(b)从场景图的节点和域来计算用于布料动画制作的物理量和输出包括所计算物理量的场景图;和(c)把包括所计算物理量的场景图转换成2D图像并输出该2D图像。附图说明本专利技术的上述和其它特征以及优点通过其中参考附图对实施例的详细描述将变得更加明显,其中 图1是一个框图,示出布料的几何结构;图2是一个框图,示出在“x-z”坐标系中被表示为三角网的图1的布料;图3是一个框图,示出在根据本专利技术的ClothAnim节点中使用的节点和域值的示例;图4是一个框图,示出在ClothAnimPhy节点中使用的域值的示例;图5A是一个框图,示出在碰撞节点中所使用的节点和域值的示例,图5B是一个框图,示出在TruncatedCone节点中使用的域值的示例,和图5C是一个框图,示出在运动学节点中使用的域值的示例;图6是一个框图,示出根据本专利技术的用于渲染3D图形数据的设备结构;图7是一个框图,详细示出图6中示出的分析器;图8是一个框图,详细示出图6中示出的计算器;图9是一个框图,详细示出图6中示出的转换器;图10是一个流程图,示出根据本专利技术的渲染方法中3D图形数据的分析进程;图11是一个流程图,示出根据本专利技术的渲染方法中的计算进程;图12是一个流程图,示出在根据本专利技术的渲染方法中把包括所计算物理量的场景图转换成2D图像的进程;图13是示出使用根据本专利技术定义的节点和域的渲染示例的图;图14是示出使用常规内插器节点的渲染示例的图;图15是示出通过根据本专利技术的渲染方法来动画制作的布料和球状对象相撞的示例的图;图16示出用于执行图15动画制作的碰撞器节点;和图17示出用于实现图15的ClothAnim节点。具体实施例本文档来自技高网
...

【技术保护点】
一种用于布料动画制作的数据结构,包括:垂直粒面域,其定义沿着布料二维网孔垂直轴的粒面;水平粒面域,其定义沿着布料二维网孔水平轴的粒面;高度域,其定义布料二维网孔的高度;宽度域,其定义布料二维网孔的宽度;和 物理特征节点,其定义用于计算作用于布料上的外力和内力、由这些力所引起的布料位移、和由布料同对象碰撞所引起的布料位移的物理特征值。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:安庭桓金道均禹相玉尼古莱Y格拉斯莫夫瑟盖U贝尔耶夫
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:KR[韩国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利