织物模型和碰撞检测处理论文

2022-04-27

摘要:为了实现3D试衣功能及解决虚拟试衣建模算法时间复杂度比较大的问题,该文结合虚拟现实等技术,首先用弹簧-质点模型对服装布料进行建模,然后以牛顿第二定律为理论基础分析以质点-弹簧模型建模的服装布料的受力情况,结合以GPU为基础的物理引擎PhysX,建立3D试衣间,仿真服装布料与人体模型的运动交互状况。最后加入人体模型调整、选衣、试衣等功能。今天小编给大家找来了《织物模型和碰撞检测处理论文(精选3篇)》,欢迎阅读,希望大家能够喜欢。

织物模型和碰撞检测处理论文 篇1:

视频游戏中碰撞检测算法的选择

摘要:视频游戏效果必须在一定程度上符合客观世界的物理规律,其中,碰撞检测是游戏创作中不可回避的一个问题。目前在碰撞检测算法方面,已经有过一定的研究,但如何选择适合实际情况的碰撞检测算法还是一个值得研究的课题。为了展现逼真的游戏场景,必须采用适合的算法来进行物体之间的碰撞检测,从而增强游戏的真实感和沉浸度。

关键字:碰撞检测;算法;视频游戏

The Choices of Collision Detection Algorithm for Video Game

ZHANG Fan, PAN Rui-fang, YE Fu-jun, JING Li-qian

(Zhejiang University of Media and Communications, Hangzhou 310018, China)

Key words: collision detection; algorithm; video game

1 碰撞检测的研究背景

碰撞检测问题是判断空间中的多个几何体模型在一定时间段内是否相交的一个布尔论断问题。传统的碰撞检测算法需遍历所有的基本几何元素,这是最基本的碰撞检测算法,其缺点是运算效率低。为解决该问题,目前已出现多种算法和技巧来提高碰撞检测的运算效率和精确度。由于各种算法运用的范围以及类型有较大的差异,所以,选择合适的碰撞检测算法是一个值得研究的课题。

2 碰撞检测的图形学原理

视频游戏包括二维游戏和三维游戏,首先从二维游戏中的碰撞检测开始研究。现以两种基本形状为例进行二维图形的碰撞检测研究,矩形和矩形的碰撞,以及圆形和圆形的碰撞。

2.1 矩形和矩形的碰撞

一般规则物体的碰撞都可以处理成矩形碰撞,实现的原理就是检测两个矩形是否重叠。假设矩形1的参数是:左上角的坐标是(x1,y1),宽度是w1,高度是h1;矩形2的参数是:左上角的坐标是(x2,y2),宽度是w2,高度是h2。

在检测时,可以比较中心点的坐标在x和y方向上的距离和宽度的关系。即两个矩形中心点在x方向的距离的绝对值小于等于矩形宽度和的二分之一,同时y方向的距离的绝对值小于等于矩形高度和的二分之一。下面是数学表达式:

x方向:| (x1 + w1 / 2) – (x2 + w2/2) | < |(w1 + w2) / 2|

y方向:| (y1 + h1 / 2) – (y2 + h2/2) | < |(h1 + h2) / 2|

该算法只是一种比较粗糙的碰撞检测方法,对于不规则物体将降低结果精确度。

2.2 圆形和圆形的碰撞

圆形和圆形的碰撞是一种最简单的碰撞,两个圆形是否发生重叠,可以直接运用两个圆心之间的距离公式来判断。所以圆形之间的碰撞条件可转化为计算两圆心之间的距离是否小于两个圆的半径之和。

假设圆1的左上角坐标是(x1,y1),半径是r1,圆形2的左上角的坐标是(x2,y2),半径是r2。在这里,我们对条件的两边都进行平方,这样就去掉了开方的运算步骤,简化了运算。下面是数学表达式:

(x1 – x2)* (x1 – x2) + (y1 – y2)* (y1 – y2) < (r1 + r2)* (r1 + r2)

以上两种算法只是最基本的碰撞检测算法,而在实际的游戏编程过程中,遇到的碰撞检测问题将要复杂得多,此时有必要引入其他形式的检测。

碰撞检测最直观的方法是对游戏场景中的所有物体进行两两求交判断,则假设场景中有N个物体,算法的复杂度是O(N2)。对于复杂的游戏场景,这样的计算量可能会很大,一个基本的解决策略是快速剔除明显不发生碰撞的物体。

要剔除明显不发生碰撞的物体有两个思路。一是考虑空间中物体的位置关系,排除明显不相交的物体对,获得潜在可能相交的物体。然后,层次遍历物体对预先构建的层次包围体树,递归检测各层节点包围体之间的相交情况,直到各层次树的叶子节点。二是基于场景所在的空间,对场景进行剖分,加速确定可能存在相交的潜在区域,再把潜在相交区域的子空间进行剖分,直到最精细的空间层次,并取出相应相交物体的多边形面片。

在视频游戏中,最终采用的求交计算还与物体的具体几何表示方法有关,几何表示方法主要有多边形模型表示、CSG树表示、参数曲面表示和体素模型表示。游戏场景中最常用的是多边形面片表示,所以,基于多边形表示的碰撞检测算法大多可以转化成三角形之间的相交检测。

2.3碰撞检测的基本算法

碰撞检测主要包括离散型碰撞检测和连续型碰撞检测。离散型碰撞检测由于采样点的局限性,当物体快速运动或物体很薄时,会发生遗漏和穿刺的现象。连续型碰撞检测虽然能够对运动过程充分考虑,但需要很大的计算量,难以达到实时的效果。

目前,离散型碰撞检测方法大体上可以分为两大类:第一是通過计算空间中两个物体的边界有否相交来判定碰撞情况,也称为相交测试方法。第二是计算空间中两个物体之间最小的距离,当距离小于某个阈值时,则判定两个待检测对象发生碰撞,这种方法也称为距离查询方法。

间隔重叠法首先计算两个三角形所在平面的交线,然后通过判断两个三角形在该交线上形成的间隔是否有重叠来决定三角形是否相交,实际计算中通过投影到某个坐标轴简化计算。

对于复杂的物体对象而言,特别是当网格模型的三角形数目相当庞大时,单纯的依靠图元求交已经不现实。由此必须通过空间剖分或者建立包围体,来排除大部分不会发生相交的图元。空间剖分包括BSP树、八叉树、KD树等方法。而包围体则包括包围球、轴对齐包围盒(AABB)、有向包围盒(OBB)、k-dop包围体、凸包围体等。

距离查询方法是指计算两个几何体在三维空间中欧式距离的最小值,当这个最小距离小于某个阈值时,认为两个物体发生碰撞。距离查询方法一般只适用于处理凸体的情况,对于非凸体则必须要先做表面凸分解的预处理工作。

在现在的视频游戏中,各种动态场景仿真对碰撞检测的要求越来越高,所以,在视频游戏的各种仿真模拟中,为了达到精确的效果,连续型碰撞检测算法非常值得探讨。

Redon等人在2002年曾提出CONTACT算法,其核心思想是利用包围体测试树BVTT遍历两颗四维OBB包围体树,用连续分离轴方法剔除明显不发生碰撞的三角形网格,然后用对分时间法,对位于包围体树叶子节点中的图元进行准确的连续求交测试。这种方法计算简便,但当旋转速度大时,会与实际运动产生较大的偏差。

在三维游戏世界中,需要进行碰撞检测的物体更加复杂,以球体和球体之间的碰撞检测为例:球被表示为中心和它的半径,决定两个球是否相交就是求出它们之间的距离是否小于它们的半径之和。在处理两个移动的球是否相交时,会出现一个问题,当它们的移动速度过快时,会出现它们相交但在相邻的两步检测不出的情况,如图1所示,解决这个问题的一个方法是细分相邻的时间片断。

在游戏这样复杂的场景中,一个比较节省计算量的方法是层次包围盒法,它利用体积略大而形状简单的包围盒把复杂的几何对象包裹起来。在进行碰撞检测时,首先进行包围盒之间的相交测试,如果包围盒不相交,说明两个物体不相交,如果包围盒相交,再进行几何对象之间精确的碰撞检测。

当包围盒相交时,并不意味着包围盒内的几何对象也一定相交,所以,包围盒的选择应该满足简单性和紧密性的要求。常见的几种层次包围盒有包围球、沿坐标轴的轴向包围盒(AABB)、方向包围盒(OBB)、离散方向多面体(K-dop)等。这些方法在碰撞检测的应用中各有优缺点,在选择方法的时候,要考虑它们的特点,结合游戏场景及游戏对象的特点,选择适合游戏的方法。

一个给定对象的AABB被定义为包含该对象且边平行与坐标轴的最小长方体。实现的时候先遍历模型中的每一个顶点,根据X-max、X-min、Y-max、Y-min、Z-max、Z-min来构造原始包围盒,原始包围盒也是AABB二叉树的根结点。其次是对原始包围盒进行剖分,构造AABB层次包围盒。然后递归检测两个树的子结点,若发现某个结点没有碰撞,就停止对这个结点的子结点继续检测;若发现这个结点存在碰撞,则必须继续做递归检测直到叶结点。

AABB间的相交测试通过比较两个AABB包围盒在3个坐标轴上的投影区间是否均重叠来进行。定义AABB在 y、z方向上的最大最小值分别确定了它在3个坐标轴上的投影区间,因此AABB间的相交测试最多只需要6次比较运算。

2.4 碰撞检测的应用

在视频游戏中,实体之间的碰撞检测类型主要可归为两大类。一是运动物体与静止物体之间的碰撞,这种情况只需通过检测两物体的位置以及它们之间的距离来判断。第二类是两个运动物体之间的碰撞,由于两个物体都在进行不停的运动,在很短的时间帧内,就已经发生了较大的距离变化,因此,必须每一帧都要检测物体是否发生了碰撞,计算量大,影响运算效率。

此外,在视频游戏中,还存在一类特殊的对象,就是柔性物体,例如布料。在布料的模拟中往往被表示成一个网格曲面,在运动的时候,曲面的不同部分会发生不同的运动,且互相之间没有严格的约束。因此,在柔性物体与其他物体的碰撞检测中,不仅需要检测柔性物体与其他物体是否相交,还需要检测柔性物体自身各个部分之间的碰撞,也就是自碰撞问题。

对柔性物体进行碰撞检测时,最原始最简单的算法是蛮力法,即对两个物体的所有基本几何元素进行两两求交。虽然这种方法可以得到正确的结果,但是,和刚性物体相比,其算法的运算量是不可忍受的。

柔性物体的自碰撞问题与前面所述的方法有所不同,本文引入基于法向量锥的方法。这种方法基于曲率方法的设计理念,其基本思想是,在一个区域内,若曲率足够小,则在这个区域内是不会发生自碰撞现象的。

以一块三角化的织物为例,我们可以知道它的各个三角形的法向量,把这些法向量的起点平移到一个点,再用一个足够小的圆锥包拢某区域内的所有三角形面片的法向量。用圆锥的顶角Θ代表此区域的弯曲率,则当Θ<π/2时,认为此区域不发生穿透现象。这里,所有三角形面片的绕向必须严格按照逆时针(或顺时针),从而保证当织物平放的时候,它们的法向量的方向相同。

当圆锥的顶角Θ<π/2时,认为此区域不发生自碰撞,否则可能发生自碰撞,需要进一步检测。若左节点的Θ≥π/2,将自碰撞检测区域缩小到左节点所在的区域,同理判断右节点。最后,由于父节点的Θ≥π/2可能是由于左右节点均是Θ<π/2而引起的,还需要调用二叉树双重遍历算法,判断以左节点为根的二叉树和以右节点为根的二叉树是否发生碰撞。

参考文献:

[1] 陈诚,孙妮芳,杨志强.基于凸分解与OBB层次结构的碰撞检测方法[J].计算机技术与发展,2007(11).

[2] 董向阳.基于OBB的碰撞检测算法研究[D].阜新:辽宁工程技术大学,2007.

[3] 丁佳.大型复杂场景中快速碰撞检测技术的研究[D].成都:电子科技大学,2007.

[4] 朱元峰.可变体的实时碰撞检测方法的研究和应用[D].大连:大连理工大学,2007.

[5] 彭斌斌.柔性体仿真中碰撞技术的研究[D].广州:中山大学,2007.

[6] 梁小红.虚拟环境中可变形体碰撞检测算法研究[D].长沙:中南大学,2007.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式閱读原文

作者:张帆,潘瑞芳,叶福军,荆丽茜

织物模型和碰撞检测处理论文 篇2:

基于物理引擎PhysX的3D试衣系统的设计与实现

摘要:为了实现3D试衣功能及解决虚拟试衣建模算法时间复杂度比较大的问题,该文结合虚拟现实等技术,首先用弹簧-质点模型对服装布料进行建模,然后以牛顿第二定律为理论基础分析以质点-弹簧模型建模的服装布料的受力情况,结合以GPU为基础的物理引擎PhysX,建立3D试衣间,仿真服装布料与人体模型的运动交互状况。最后加入人体模型调整、选衣、试衣等功能。该系统在Windows平台下,利用VisualStudio2008设计开发,结合虚拟现实等技术的综合应用,建立了一套包括选衣、试衣、人体参数调整等功能的3D试衣系统。

关键词:3D试衣;布料仿真;弹簧—质点模型;物理引擎;PhysX

随着计算机技术及网络的快速发展,虚拟现实等技术已广泛应用于生活的各个方面。在网络购物的广泛发展中,虚拟现实的需求逐渐增大,3D虚拟试衣作为网络购物中的必要环节应运而生。目前,试衣系统普遍采用虛拟试衣间的方式。所谓虚拟试衣问,就是一个供用户和机器实时交互的平台,用户通过此平台在各种服装中做出选择,并把选中的衣服在虚拟模特身上进行试衣。虚拟试衣间须具功能:选衣、试衣、展示等[1]。

目前,国内的虚拟试衣间大都是2D系统,以模特平面贴图作为主要技术。此类系统观赏缺乏真实性,交互性单一,试衣效果较差。国外的虚拟试衣较成熟,典型的系统有日内瓦大学MIRALab课题组的Virtual Try On[2]和Online Clothing Store[3]。但此类系统服装模拟的时间复杂性较大,无法实现3D试衣的实时性要求,用户体验不足。

本文从实际需求出发,针对于国内虚拟试衣以2D系统为主的不足,设计出一套可以全方位展示模型以及服装的系统,促进了国内3D试衣系统的发展。借鉴与国外服装模拟的算法复杂性较大的不足,本系统以弹簧-质点模型模拟服装布料建模,引入物理引擎PhysX作为模型算法,该引擎结合OpenGL、GPU计算等技术,可快速的模拟服装的运动及与模型的碰撞等过程。此外,在用户试衣过程中,用户可根据自身条件方便的调整人体模型的具体参数,在不同场景中,系统可全方位的展示服装和人体模型,极大地提高了用户的真实性体验。

1 弹簧-质点模型

在3D试衣系统中,首要解决的问题是对服装布料的模拟。服装布料的仿真一直是虚拟现实及图像领域的热点。服装布料是天然或人工纤维的网状编织物,具有各向异性、不可压缩性、抗拉不抗弯等一些明显的力学特性[4]。由于服装布料为非线性的应力形变关系,服装布料的外形会随着服装内力及外力的改变而变化。因此,服装布料的建模比一般物体复杂。

目前,三维服装布料的建模和仿真大致分可分为三类:几何模型,物理模型和混合模型。其中,物理模型随着计算机硬件技术以及图形算法的不断发展而成为服装布料主流的仿真方法。而在物理模型中,Provot[5]建立的弹簧-质点模型因其模型简单、计算效率高而被广泛应用。

Provot建立的弹簧-质点模型把服装布料看成横向和纵向均匀分布的网格。整个服装布料的质量都浓缩到相交的网格点上,网格点用质点来表示,我们认为所有质点质量相同、且在网格中均匀分布。质点与质点之间通过弹簧来连接。由于服装布料内部在不同方向上都有作用力,根据主要的三种作用力拉伸、剪切、和弯曲,弹簧可分为结构弹簧、剪切弹簧、弯曲弹簧。如图1所示:

如果把质点的分布看成M[×]N的矩阵,那么结构弹簧连接质点(i , j)和(i+1,j),(i , j)和(i+1,j),模拟横向和纵向的拉伸作用力;剪切弹簧连接质点(i , j)和(i+1,j+1),(i+1,j)和(i,j+1),模拟倾斜方向的剪切作用力;弯曲弹簧连接质点(i , j)和(i+2,j),(i ,j)和(i,j+2),模拟布料折叠式的弯曲作用力。弹簧-质点模型的工作流程主要有以下几个步骤:

1)给定个点位置及速度初始值。

2)各点受力清零。

3)计算各点受力与加速度。

4)求解各点位置及速度。

5)处理碰撞中变形约束。

6)更新各点位置与速度。

7)循环处理2到6。

2 服装布料的运动仿真

由于本文对布料采用了物理的建模和仿真方法,则对布料的运动仿真则至关重要。在采用弹簧-质点模型的服装布料模拟过程中,该文假定所有质点质量相同,质点由弹簧连接,弹簧的弹性系数相同。

服装布料在运动模拟过程中收到各种不同力的作用。作用于质点上的力大致分为内力和外力。内力主要包括拉伸力、剪切力、弯曲力等,主要是粒子间的相互作用。外力主要包括重力、空气阻力、风力、摩擦力等。

服装布料的运动规律可用牛顿第二定律F=ma确定。具体表现为作用到某一质点上的作用力与质点质量,质点加速度之间的关系。这里的作用力力应为内力和外力的总和,即:

其中,m表示质点的质量,X表示质点下一时刻的位移,[Fi]表示质点所受的内力,[F0]表示质点所受的外力,t表示时刻。质点所受的作用力随之时间t的改变而变化。同样,质点的位移也随着时间t的改变而变化。

3 3D试衣系统实现

3.1 物理引擎PhysX简介

本文采用物理引擎PhysX作为模拟试衣的主要方法。物理引擎对具有物理特性的实体进行受力分析及碰撞分析,进而计算出每一个实体对象的运动状态和碰撞响应。物理引擎的作用是把真实的物理规律应用的虚拟场景中。

目前世界上主要的物理引擎有PhysX、Havok、Bullet Physics等。PhysX是Nvidia公司的一款优秀的物理引擎。主要用于刚体模拟、布料模拟、粒子模拟、任务控制[6]等。同时,它还提供Nvidia强大的CUDA加速能力,因此PhysX在各领域被广泛使用。在本文中,我们使用PhysX中的布料模拟部分作为我们服装试衣模拟的主要开发引擎。3D试衣从本质上来讲是服装与人体模型的运动模拟,是一种物理现象,遵从牛顿第二定律。因此,引入物理引擎PhysX是完全可行的。

3.2 试衣间的构建

使用物理引擎PhysX模拟试衣过程中,我们需要对整个物理场景建模,包括试衣间、人体模型、服装等。使用物理引擎PhysX对场景建模,首先要创建场景(Scene)并给场景添加上物理材质;然后创建角色(Actor)并把角色添加到创建的场景中。本系统中,试衣间、人体模型、服装等都是作为角色被添加。最后是场景内,角色与角色之间的运动模拟。

在物理引擎PhysX构建的物理场景中,试衣间场景是作为物理场景中的单独角色(actor)而创建。该文首先创建了试衣间角色,通过创建的角色描述(NxActorDesc)对试衣间进行初始化。试衣间为一个正方形盒体,如图2所示:

在构建的3D试衣系统中,用户可根据习惯自由选择试衣间,在试衣过程中,也可以实现试衣间的自由切换,用户试衣的个性化需求得以提升。

3.3 人体模型的载入

人体模型以PhysX支持的文件格式而存在。人体模特有多种,用户在试衣过程中,可以任意挑选与自己体型接近的人体模型。如不合适,可以对人体模型进行微调,试衣系统提供了微调接口。微调的接口如图3所示:

人体模型作为物理场景中的角色而载入,如图4所示。载入用PhysX中的CookASE()函数,在此函数中,我们设定了人体模型的类型、位置、显示大小的信息。

3.4 服装与人体模型的运动仿真

在使用物理引擎PhysX对服装布料进行模拟仿真时,首先要创建一个场景作为我们的物理世界;然后加入不同的角色以及每个角色的属性及描述;这样我们可以利用物理引擎PhysX对创建的物理世界进行运动模拟。

其服装布料的模拟流程如图5所示。

当服装布料作为角色载入物理场景后,我们利用弹簧-质点模型对服装布料进行建模。把我们的服装布料分割成不同的网格结构。在系统中,根据不同的试衣间场景,我们可以施加不同的作用外力,包括重力、風力、摩擦力等。

在初始化试衣间和载入人体模型、服装后,该文通过调用物理引擎PhysX中的模拟函数StartPhysics()来对服装及人体模型进行运动模拟。在函数StartPhysics()中,我们首先获得上一次计算到现在计算的时间步长,然后调用模拟函数simulate()进行运动模拟,直至达到结束条件。具体的试衣效果如图6所示。

在具体的运动模拟中,当服装布料接触到人体模型时会发生碰撞。我们使用物理引擎PhysX内置的碰撞检测算法[7-8]来模拟碰撞检测及碰撞后的碰撞反应。在物理引擎PhysX中,我们需要打开物理场景中的碰撞检测标志。物理引擎自动的把物理场景中的几何体划分空间块,碰撞检测时,PhysX首先找出发生碰撞的碰撞对,检测附近空间的几何体块的情况,最后发生碰撞的几何体块做出碰撞相应。

3.5 3D试衣系统的实现

在以上试衣间、人体模型、服装模拟的论述基础上。我们开发了基于物理引擎PhysX的3D试衣系统。该系统可方便的让用户在不同的场景中体验选衣、试衣等。具体的试衣流程如图7所示。同时,我们致力于丰富试衣过程中的用户交互功能,包括观看视角的调整、衣服的拖拽、试衣间光照调整、风速环境的设定等用户操作。

4 结束语

本文介绍了基于物理引擎PhysX的3D试衣系统的设计和实现。重点介绍了服装布料的弹簧-质点模型建模方法以及应用以牛顿第二定律为基础的物理引擎PhysX来模拟服装布料的仿真方法。本系统目标在于创建一个3D试衣系统,改善国内试衣系统以2D贴图为主的客观局势,加速国内试衣系统的快速发展。随着虚拟现实技术的发展,人们对试衣效果的良好体验需求快速增加。如何用CUDA等加速技术为3D试衣系统加速时我们继续研究的目标。

参考文献:

[1] 高峰,董兰芳.网上3D试衣系统技术研究[J].计算机仿真,2006(6).

[2] Dimitris Protopsaltou, Christiane Luible, Marlene Arevalo, Nadia Magnenat-Thalmann. A body and garment creation method for an Internet based virtual fitting room[C].Computer Graphics International Conference Proceedings,July,2002.105-122.

[3] Frederic Cordier , Hyewon Seo and Nadia Magnenat-Thalmann. Made-to-Measure Technologies for Online Clothing Store[C].IEEE Computer Graphics and Applications, January February 2003.38-48.

[4] 武继银.基于OSG的实时布料仿真[D].济南:山东大学,2009.

[5] Xavier Provot, Deformation Constraints in a mass-spring Model to Describe Rigid Cloth Behavior[C].n Graphics Interface,1995,95:147-154.

[6] 魏立新.浅谈物理引擎PhysX SDK的使用[J].电脑知识与技术,2009(20).

[7] 素新新,李学庆,祁斌.基于PhysX物理引擎的布料仿真技术的研究与实现[J].计算机应用,2009(12).

[8] Nvdia. NVIDIA PhysX SDK v2.8.1[CP/OL].2008.

作者:徐康熙 郝泳涛

织物模型和碰撞检测处理论文 篇3:

三维虚拟服装缝合技术探究

摘要:近年来,Compu ter Aided Design(简称CAD)技术在服装设计的领域里应用甚广。随着计算机三维图形设计的发展,服装二维CAD系统愈加的完善,加之服装的个性化定制,服装三维CAD系统逐渐成形,成为服装设计中的一大主流。三维虚拟服装的设计将实现二维服装制作的每一个步骤,本文将针对三维虚拟服装制作的步骤及缝合技术进行详细的分析。

关键词:三维虚拟 服装缝合技术 物理模型

3D服装造型技术属物理的造型方法,能够精确地描述出织物表现出织物的真实,因此得到了广泛的应用。真实的将生活实际服装利用三维效果模拟出,不单单是服装的三维模拟,而是将二维服装用三维软件真实地表现出来,服装的最终效果与穿衣模特有紧密的关系。虚拟三维服装将二维转换成了三维,其中就会出现很多的技术性问题,其中三维虚拟服装的缝合技术就有着相当大的难度。

一、关于三维虚拟服装缝制的物理模型

三维服装虚拟造型的方法主要有两种:几何造型的虚拟服装和物理的虚拟服装。服装的几何造型方法是满足在空间中构建衣片曲面等的基本信息后直接生成的服装模型。服装几何造型法既直观,速度又快,可不采用服装缝合信息的设定直接对服装造型建模,但主要缺陷是其方法所生成的服装无实质材料的真实下垂感。于是人们通常采用物理仿真的方法,虚拟缝合的过程可以将服装在人体模型中试穿的真实感呈现。

以物理特性的柔性服装模型质子-弹簧模型做例子,受到相互垂直的经纬纱线编织的平行织物的启发,服装的曲面被离散呈规则的网格状,网格的相互交叉点为系统质点,质点与质点间相连呈弹簧状,形成由质子-弹簧在服装中组成的网格系统。质点在内外相互力的作用下产生运动,其满足动力学的基本定律。

二、关于三维虚拟服装的缝制

缝制三维虚拟服装与传统手工缝制服装基本步骤相同,基本步骤如下:

(1)整理好缝合的数据信息,即缝合对位关系的设定。在对二维服装衣片进行网格剖分前,各个衣片间的缝合对应用交互方式来设定。缝合信息整理的设定是三维虚拟服装的缝制过程中最基本的步骤。

(2)衣片的四边域剖分。要生成质子-弹簧结构的柔性曲面网格状,需将含有缝合对位信息的二维衣片进行四边域剖分。

(3)衣片缝合的初始化。交互式设定衣片的缝制初始位置要采用空间几何变换技术。掌握好三维衣片与模特之间的固定,成功进行缝合。

(4)受缝合牵引的力学影响,将要缝合的衣片贴合靠拢。三维虚拟服装缝合时需要逐步进行,分步缝制可实现服装在3D虚拟软件中的完全缝合。

(5)将二维的复杂衣片缝合成3D服装,并以虚拟模特真实试穿,服装稍作调整到与模特真实形态所吻合,制作出真实的服装穿着-效果。

三、关于缝制的技术

(一)二维服装的网格剖分

二维到三维的转换,第一步是将二维衣片离散为四边域网格形式。在几何表现上二维衣片是一系列的不规则曲线与直线构成的任意多边形,由于质子-弹簧网格结构的约束和边界对位的缝合约束,在缝合的过程中要注意以下几点:

1.网格结构需要满足质子-弹簧模型所要求的规则四边域形式。

2.缝合点的对位准确是边界离散的重要因素,要确保缝合对位的边界约束。

3.矩形及正方形的形态为四边域网格单元的基本形状,与平纹织物的结构特点相符合,若要满足缝合对位的条件,边界上必然会出现三角区,但又要保证四边域网格单元的形状为正方形或者是矩形,确保同时满足条件,文献中提出了正则栅格法思想的四边域网格剖分。这个方法解决了二维衣片转化为三维服装时产生互相矛盾的要求。

(二)缝合对位的边界处理

1.对位缝合。此缝合方法在服装工艺中是最普通最基本的方法。要求是两条衣片缝合边的长度要一致、对位数值要一致。

2.抽褶缝合。三维虚拟服装的缝制,是要根据服装设计的特点来进行缝制。由于抽褶缝合有时会产生多余空隙,所以还有对衣袖的缝合连接处网格单元的拓扑结构,用无弹力构造特点的四边域插补在空隙的位置。

(三)缝合过程中的约束问题

衣片与衣片分开,缝合力根据所设计的缝合信息作用于相应的边上。在缝合力的作用下,质子-弹簧会产生变形,沿着缝合力的受力方向贴合,当衣片缝合边距离贴近时,则认为衣片缝合,此时应控制缝合点的运动,使其保持连接状态即可。

(四)检测碰撞

在二维到三维的服装缝合与人模试穿中经常发生碰撞现象,是服装自身以及与人模之间的一种相互渗透和穿越。碰撞检测十分费时,为提高检测效率,通常都是用一种以层次剖分技术为基础与包围盒检测技术相结合得出的检测算法。

四、结束语

目前,国内外的研究人员就服装三维虚拟仿真技术展开了一系列的研究,并得出了不小的收获以及令人惊叹的效果。对目前研究的成果参考其理论方法与基础,同时对传统的经典缝合方法进行拓展,完善三维虚拟服装技术,对其中产生的问题加以重视并提出相应对策,实现良好的三维虚拟服装仿真效果。

参考文献:

[1]聂卉,罗笑南.三维虚拟服装缝合技术研究[J].计算机辅助设计与图形学学报,2012,(2).

[2]唐勇,甄同妙,吕梦雅,杨偲偲,张明敏,潘志庚.快速设定三维空间中服装缝合信息的新算法[J].纺织学报,2014,(4).

作者:李丹

上一篇:影响中国元素的电影艺术论文下一篇:网络资源趋势下语文教学论文