最后一部分,也是本系统添加的另一项拓展应用,即虚拟试衣间系统。这个功能使用虚拟现实建模语言(Virtual Reality Modeling Language,VRML)和相应的浏览器插件来完成,实现了浏览器中的三维服装的简单变换。
VRML的访问方式是基于客户/服务器模式,其中服务器提供VRML文件(扩展名为.WRL)及支持资源,客户通过网络下载希望访问的文件,并通过本地平台上的VRML浏览器(Browser)交互式访问该文件描述的虚拟境界(Virtual World),因为浏览器是本地平台提供的,从而实现了和硬件平台的无关性。
图6-60 私人着咨询服务推荐结果界面
VRML文件描述的基于时间的三维空间称为虚拟境界。它由对象构成,而对象及其属性用节点描述,节点是VRML的基本单元。每个节点由类型、域、事件、实现、名字组成,节点按一定规则构成场景图(Scene Graph),场景图中分为两类节点:第一类节点用于视觉、听觉角度表现对象,它们按层次体系组织,反映境界的空间结构,提供颜色、灯光、超链接、材质、化身、重力、碰撞、地形跟踪、飞行等功能,支持局部坐标系;第二类节点参与事件产生和路由机制,形成路由图,确定境界随时间推移如何动态变化。
1.虚拟模特的构建
首先,在虚拟试衣间中需要有一个三维的人体模特作为试衣工具,这样才能完成基本的试衣功能。VRML中,三维物体是由基本的三维空间数字点阵组成的,多个不同空间位置的点构成了一个实体,如模特的右眼的定义:
由于现今计算机软件在这方面技术支持的缺乏,使得虚拟现实的制作不得不面对枯燥的VRML编写,要把那些数字和三维空间的模型联系起来是一件很困难,并且费时的事。因此,由于课题时间有限,本节使用了网上发布的免费VRML人体模型来完成试衣工具——人体模特的构建。
2.简单服装的构建及色彩变换功能的实现
简单服装的构建及色彩变换功能的实现是本节在虚拟试衣功能搭建中重点完成的工作。首先是一套最简单、基本的服装构建。本节在人体模特各部分已有点阵定义的基础上作了简单变化,形成了一套没有太多样式,但具备服装基本要素的衣服,包括上衣主体、领口、袖子和裤子等。构建方式与人体模型的基本语法结构相同,只是各点阵的空间位置有所出入,这里就不再赘述。重点实现的服装色彩变换功能就是针对这套服装所做的实验。
VRML中,根据环境变化、用户交互、时间推移产生事件,传感器(Sensor)检测并触发初始事件,实践产生其他事件或修改场景图结构,从而提供动态特性。对于复杂行为处理,则须利用脚本节点(Script Node),它包含一组由脚本描述语言编写的函数,脚本节点收到事件后,将执行相应的函数,该函数可以通过常规的事件路由机制发送事件或直接向脚本节点指定节点发送事件,脚本也能动态增、删路由。
这里以将上装变为红色的事件为例,描述此功能实现的编程过程。
首先,定义虚拟试衣间中触发实现该事件的按钮:
(www.daowen.com)
其次,定义色彩转换(变换为红色)事件的脚本:
最后,将触发按钮、事件和事件引发变化的相应作用域联系起来:
以上便是虚拟试衣间中服装色彩变换的一项子功能的实现过程。系统总共提供了三种色彩的选择,并且支持用户选择上装还是下装变换的交互操作。观看几种服装的颜色的具体效果,点击底下的小球按钮,即可实现。具体的范例图片如图6-61、图6-62所示。
虚拟试衣间的搭建使用虚拟现实技术中广泛应用的虚拟现实建模语言(VRML)。
图6-61 系统功能3——虚拟试衣间
a)虚拟试衣间服务区 b)虚拟试衣间默认界面 c)试衣间内模特的自由旋转
图6-62 可以任意改变上衣和裤子的颜色
a)改变模特上衣颜色 b)改变模特裤子颜色
面向Internet的人性化、个性化的智能服装选购空间的建立,是人工心理理论的一个很好的应用。它能够让在线购物的人们了解自己和别人的审美倾向,并有助于从庞大的服装库中尽快选出自己满意的商品,但这些还是初步的,需要继续研究。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。