3D交互系统

2024-10-06

3D交互系统(共7篇)

3D交互系统 篇1

摘要:选择典型的船舶生活污水处理装置为模型,将其结构原理、操作、维护保养要点故障排除方法等,以3D动画的形式形成一个高效率的教学系统,变抽象教学为动画模拟教学,解决以往理论教学和实践教学脱节的问题,节省教学资源,满足交互性、实时性和实用性,提高教学效率。

关键词:船舶,生活污水装置,3D虚拟,交互式

0 引言

由于航运的国际性,使得海洋污染成为国际性的危害。随着MARPOL73/78公约附则IV“防止船舶生活污水污染规则”的生效,船舶生活污水处理装置愈加成为PSC检查中的必查项目。

目前,学生对于船舶生活污水处理装置的了解只限于课本上的理论学习,只能通过课本上的平面图来了解其结构,不利于学生对该项知识的掌握。因此,对“船舶生活污水处理装置交互式虚拟3D教学系统”的研究与开发,是对教学方法与教学手段更新的一种尝试。利用当今3D制作的发展水平,能充分展示机械设备复杂的操作和维护过程,提高教学效率。

1 研究现状和意义

1.1 现状分析

1)国外研究现状。虚拟现实技术最早是由美国VPL公司Jaron Lanier提出,并逐渐被用于各领域研究。美国对虚拟现实的研究主要集中在感知,应用软件和硬件等方面。美国宇航局(NASA)利用虚拟现实技术实现对空间站的实时仿真,并且建立了卫星维护训练系统和空间站训练系统。目前他们正在打造数百颗虚拟行星,代表在遥远的星系内围绕恒星运行的天体,到太阳系外寻找类似地球的行星。这些虚拟行星将被用软件“播下”生命的种子,历经千万年演绎进化后,研究生命的发展轨迹。

英国、法国、日本等国家大学在虚拟现实技术的实用性研究与开发中也取得了很大的成果。

2)国内研究现状。21世纪初期,我国航海类高等高校大学生也开始了对虚拟现实技术进行研究并且取得了成果。目前,我国航海类高等学校的大学生,根据自身特点和条件,在一系列相关的虚拟现实方面主要取得了以下一些方面的成就:大连海事大学、上海海事大学、集美大学等航海类高等院校都根据自身优势,将虚拟现实技术应用到轮机模拟器研究中去,实现了学员通过电脑虚拟环境对机舱的设备进行操作,大大提高了学习效率。

1.2 研究意义

船舶生活污水处理装置3D虚拟交互式教学系统是指利用高性能计算机软硬件去创建具有良好交互能力、能使学习者具有沉浸感、有助于启发参与者构思的信息环境。借助这样一个基于真实空间或假象空间的实时仿真虚拟模型,可以全面展示船舶的主要防污染设备———船舶生活污水处理装置的外观、系统组成、操作过程、故障警报及设定,主要设备的维护保养过程及操作要点。学习者能全面掌握船舶生活污水处理装置工作原理、操作及维护保养要点。利用计算机生成的模拟环境,通过传感设备和计算机接口,给用户亲临其境的感受。高逼真虚拟环境的建立是虚拟现实技术的核心内容,除了满足沉浸感,还可以满足交互性、实时性和实用性,使课堂上抽象的概念变得具体可见,如同见到实物一样,提高教学效果。

通过对国内海事院校的实地走访调研和领域内专家的探讨交流,结合网络搜索,国内外一些海事院校,开发过的机舱设备3D系统,大多局限于设备原理和操作过程的演示,缺乏系统性及实用性。因此,对船舶生活污水处理装置交互式虚拟3D教学系统研究和开发,不仅会填补国内外航海教育在此领域的空白,还能大大提高轮机工程技术专业的教学效果和教学质量。

2 研究思路

船舶生活污水处理装置3D虚拟交互式教学系统的研究思路拟定按照以下流程来逐步执行。

1)需求分析,市场调研。了解当前市场现况,明确项目内容。

2)收集相关资料,拟定开发方案。

3)依据图纸或实物照片建立三维模型,模型不清晰的地方要反复确认修改,确保模型和实物的仿真程度达到项目要求。

4)依照项目开发方案编写程序,制作三维仿真动画。

5)测试修改,测试完毕通过以后,项目结题。

整个详细的研究流程如下图1所示。

3 研究方法

1)调研分析法:采用现代化信息技术手段,广泛收集和查阅国内外与本课题有关的文献资料;收集和整理国际公约、船级社规范和国家海事局对航海人才培养的最新要求。

2)实证分析法:以当前主流机型STC系列船舶生活污水处理装置为实例,分析船舶生活污水处理装置的工作原理与操作流程。STC系列船舶生活污水处理装置是目前船舶采用较广的一种船舶生活污水处理装置装置。

3)通过座谈、访谈、书面调查等形式,广泛听取海事机构、航运企业、兄弟航海院校、和院内广大航海专业老师和学生们的意见。

4 研究内容及解决的问题

4.1 主要研究目标

以STC系列典型的船舶生活污水处理装置为模型,将其结构原理、操作过程、故障警报及设定、主要设备的维护保养过程及操作要点、故障排除方法等以3D动画的形式形成一个高效率的教学系统,变抽象教学为动画模拟教学,提高教学效率,降低学生的学习难度。解决以往理论教学和实践教学脱节的问题,改善教学中许多难以到位或根本讲不到位的弊端。节省教学资源,满足交互性、实时性和实用性,提高教学效率。

4.2 主要研究内容

以当前主流机型STC系列船舶生活污水处理装置为研究对象,参阅其技术说明书、国际公约、国内法规、船级社规范并根据船舶实际操作与维护保养经验,制定课题研究目标,确定研究重点和研究难点。

4.3 解决的一般问题

1)系统的自动控制部分及与外部管路部分的连接。

2)系统的工作原理、故障警报及设定。

3)系统运行参数的整定。

4.4 解决的关键问题

1)船舶生活污水处理装置3D结构模型及操作过程。2)船舶生活污水处理装置主要设备的维护保养。

3)船舶生活污水处理装置操作的考核与评分标准。

5 结语

传统的教学方式,船舶生活污水处理装置的教学课件主要是采用二维平面制作,原理描述的不够直观,且对设备的结构位置无法很清晰地表现。而本项目研究采用三维虚拟仿真技术,能够很直观地看到设备所有的部件结构,原理展示也是在三维模型中进行模拟,比二维平面的演示效果更加清晰明了,使学员能够很快地理解认识一套设备的工作原理、结构、操作及维护方法,既可以节省教学资源,又可以满足交互性、实时性和实用性,提高教学效率。

参考文献

[1]杜月林.建设虚拟仿真实验平台探索创新人才培养模式[J].实验技术与管理,2015(12):26-29.

[2]梁恩胜.3D虚拟仿真在航海类专业实训教学中的应用研究[J].科技展望,2016(17):212.

[3]段丹萍,唐润华.高职虚拟仿真实训系统使用需求调查分析[J].中国电力教育,2013(16):163-164.

智能手表难交互3D手势来相助 篇2

或许可以这么认为, 如果智能手表的交互只和屏幕有关, 交互就难以做深, 得想一想新的交互方式。加利福利亚大学的伯克利校区、戴维斯校区正在研发的新技术, 让手表拥有3D手势功能, 或者说, 在手表上装一部Leap Motion。

这项新技术名为Chirp, 通过发送超声波定位来实现3D手势功能。其实从技术原理上看, Chrip所采用的超声波与Leap Motion所采用的“光编码技术”有一定的相似之处, 后者通过计算光反射的时间来确定人的手势, 而前者则计算声波反射的时间, 达到同样的目的。

技术团队认为, 与市面上其它的技术相比, 他们所采用的技术方案能够引入更多的手势操作, 以及更低的能耗。Chirp方案的优点在于对环境依赖小, 不论白天还是黑夜都可以正常使用。

另外, 由于声波传播的速度要比光波慢得多, 对设备的性能要求不如后者那么高, 若采用Chrip方案, 则意味着能够降低设备的能耗和成本。

当然, 我们还可以想起MYO这个利用生物电来识别手势的方案, 它对环境的依赖性更小。但很难确定利用MYO技术的设备, 是否一定要设计成环状, 这样的话, MYO技术普遍性仍不够强。而Chirp最终设计目标是可以通过一块芯片来识别手势, 这样它可以嵌入到手表、手环甚至更多可穿戴设备当中。

MIT Review的Rachel Metz亲身体验了Chrip的效果, 目前来说已经可以利用超声波进行2D定位, 可以识别手的左右前后的移动, 但无法识别手上下的运动。Chrip创始人Richard Przybyla表示团队将继续改善Chrip的性能, 早日识别手在三维空间里的运动方向。

3D交互系统 篇3

交互式动态漫画基本介绍:

交互式动态漫画是目前最新颖的漫画产品。它结合了漫画和动画, 避免了漫画在动作表现上的不足和动画在文戏方面的拖沓, 同时读者可以在阅读过程中通过点击、 滑动和重力感应等方式进行交互,提高用户体验。

1.各种功能的实现

1.1 条漫基本功能

我们使用的是Unity3D来进行交互式动态漫画的搭建。Unity3D是由Unity Technology开发的一款引擎。 另外, 我们还用到了一个叫做NGUI的插件,简单的滑屏,翻页都是通过这个插件做的。 我们将图片素材摆成像条漫一样的一长条,然后将不同的组件( 比如音源、动画)添加到图片上,这样就完成了漫画的搭建。

1.2 动画实现

我们采取的是序列帧的方式实现动画。Unity3D中有几种可以实现播放动画的方式,有的只能全屏播放, 有的不支持移动端, 所以我们选择了序列帧。 序列帧存在的问题是, 大量图片导入Unity3D中,会导致导出的安装包非常大。 关于安装包压缩的问题我们将在后文中予以讨论。

将序列帧全选拖入scene视图中, 就可以自动生成动画控制器和动画片段。 动画控制器( Animator Controller ) 是用来控制某个物体( 比如一张图片) 的各个动画之间的过渡。我们通过这个来控制动画的播放、 停止和重播。 各个动画片段之间可以设置过渡条件, 当某些条件( 比如某个按钮被点击、屏幕滑到某个位置)被满足的时候, 图片会由一个静止状态转换到播放状态。

1.3 声音播放

声音分两种, 一种是背景音乐, 另外一种是音效。Unity3D中有一个Audio Source的组件,可以通过控制这个组件中的参数来实现对音乐的控制。

game Object.Get Component<Audio Source>().paly()

game Object.Get Component<Audio Source>().pause()

game Object.Get Component<Audio Source>().stop()

这三个函数可以控制音乐的播放、 暂停和停止, 在脚本中, 只要在某些条件被满足之后,执行这三条语句,就可以实现对声音的控制了。

1.4 重力感应

在这里提到一个input类,这个类里包括了设备可以获取的几乎所有输入,包括电脑键盘、鼠标输入、 手机触屏输入以及陀螺仪的重力感应输入等等。 我们用重力感应实现了摇晃手机可以改变人物视角, 手机转动的时候, 读者面前的景色也会跟着转动。

重力感应输入分为3 个轴X,Y,Z, 取值分别为-1.0~1.0。我们来看一下这三个轴是如何取值的:

X轴:home按键在下手机面朝天向右旋转90 度重力分量为+1.0 向左旋转90 度重力分量为-1.0。

Y轴:home按键在上手机背朝自己重力分量为+1.0 home按键在下手机面朝自己重力分量为-1.0。

Z轴: 手机面朝地面重力分量为+1.0 手机面朝天空重力分量为-1.0。

也就是说, 当你正视手机屏幕的时候,X轴始终是从手机左边指向手机右的,Y轴始终是从手机底部指向手机顶部的,Z轴始终是垂直于手机屏幕指向外面的。 三条轴的输入即求重力在这三个方向上的分量。

Input.acceleration.x

Input.acceleration.y

Input.acceleration.z

这三个值可以分别表示XYZ轴的输入。根据这几个值就可以确定手机现在的状态, 从而调整手机中显示的画面。 我们将我们的画面按远近分成了几层图片, 当读者转动手机的时候,所有的图片围绕着摄像机旋转, 这样子就可以做出一种, 读者转动手机, 就可以改变人物视角的感觉。

2.应用优化

2.1 安装包大小压缩

Unity3D的图片压缩特别需要技巧。如果处理图片的时候不注意技巧, 导出来的安装包将会特别大,但是如果在一些细节方面多加注意,就可以在压缩图片的同时保持比较好的视觉效果。 这个技巧就是将图片的宽高通通调整成2的N次幂。

我们看一个例子, 一张大小为720*1551 的图片, 导入Unity3D之后, 会被自动调整为1024*2048, 可以看作,Unity3D自动将一张宽高非2 的N次幂的图片放入了一个宽高为2的N次幂的容器中。 这样做的代价就是, 这张图片的加载速度会变慢, 同时所占的存储空间会变大。在Unity3D的Inspector视图里我们可以看到这张图片的大小是4.3M。

但是如果我们手动对图片进行这样的预处理, 替Unity3D省掉一部分工作呢? 我们在Photoshop中创建一张512*2048 的图片作为“ 容器”, 背景涂成白色。 再将我们的720*1551 的图片经过等比例地缩放放到容器中。将这样一张图片导入Unity3D中,我们从Inspector视图看这张图片,那里显示这张图片的大小变为了0.7M。

这样做的效果很显著, 一张图片经过预处理之后大小就变成了原来的1/6 左右。 我们的动态漫画程序App最多的部分就是图片, 这样的处理将会大大提高图片的读取速度, 缩小压缩包的大小。

Unity3D对宽高满足2 的N次幂的图片的支持相当好。 所以不管是在做什么, 只要是在用Unity3D,都建议将图片的宽高都调整为2 的N次幂。

2.2 序列帧动画的调整

动画有一个问题, 视频的话会有相邻的帧是一样的, 到序列帧就会有相邻的两张图片是完全一样的。 这样子也造成了资源的浪费。 手绘动画往往一张图片需要用上好几帧, 如果将手绘的图片做成动画, 再将动画导成序列帧,造成的结果必然是有大量重复的图片。 其实在Unity3D中有一个Animation面板,在这个面板中可以对动画中每张图片连续使用的帧数进行调整,即如果相邻的两张图片是一模一样的,我们就干脆让这张图片连续显示两帧。 这样做的话, 每一个序列帧动画的图片量就大大减少了。

3.结语

3D交互系统 篇4

虚拟现实利用电脑模拟产生一个三维空间的虚拟世界,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物[1]。把虚拟现实应用于教育将是教育技术发展的一个飞跃。它可以营造“自主学习”的环境,由传统的“以教促学”的学习方式代之为学习者通过自身与信息环境的相互作用来得到知识、技能的新型学习方式[2,3]。

工程制图是工科类专业重要的技术基础课,它具有很强的抽象性和空间性。教学中使用实物模型有助于学生的空间想象,但由于携带不便、后排同学看不清等缺点导致不能大范围使用。利用虚拟的模型不但携带方便,还可以任意旋转、剖切,大大的提高了课堂效率。本文以Quest 3D虚拟现实引擎[1]为平台,建立具有内嵌数据库支持的工程制图虚拟模型库。该模型库包含了《工程制图》课程常用的各种零件、装配体等,不但可以任意角度、大小观看,而且可以实现交互操作,例如零件的剖切,装配体的拆装等操作。

1 模型库系统的构架及设计流程

研究和开发虚拟模型库的目的在于建立一个展示制图教学模型的虚拟环境,便于教师展示模型,也便于学生对模型进行深入细致的观察和动态交互操作。为实现设计目的,模型库包含的零件种类按照工程制图教材的编排,建立了很多常见的零件及装配体模型。设计的流程如图1所示。

2 虚拟模型库的建立

本节主要对流程图中的关键技术做出说明。

第一步:基本素材的准备。实地测量学校的教学模型陈列室,并用CAD软件制出陈列室的二维平面图。对所陈列零件进行分类整理,拍照存档,向学校借阅零件的图纸。

第二步:模型陈列室的三维模型的建立。将之前所绘制的陈列室二维平面图纸导入3Dmax 2009中,通过拉伸生成墙体,并封顶。之后再对吊顶,吊灯,地板,陈列柜,门窗等进行建模,并进行后期的灯光和贴图的处理。最终得到的室内和室外效果如图2所示。

第三步:对所陈列的零件进行三维数字建模。除了一些日常所见的简单的几何物体,本系统还收入了箱体类,叉架类,壳体类,钣金件,模具类等各式零件100余种,另外对20种结构较为复杂的装配体进行了三维数字建模。图3为模型库中的齿轮油泵装配体模型。

第四步:模型的导入与导出。零件的建模使用的是由Autodesk公司出品Inventor 2010。但是由该软件导出的文件不能直接导入到Quest 3D中去,能够与Quest 3D实现无缝结合的文件类型是“.X”文件。为了达到这个目的,可将inventor2010所建的模型导入到同为Autodesk公司出品的建模软件3Dmax 2009中,并事前在3Dmax 2009中安装能够将“.max”文件格式转换微软DirectX的“.X”文件格式的插件,这样就能将所建模型导入到Quest 3D中加以应用。另外,在将零件导入到Quest3D之前,应先对模型的面数进行优化,对一些看不见的和重复的无效面进行删除与合并,面数越少软件所需计算的数值越少,运行速度越高,系统更稳定。

第五步:模型的后期处理。后期处理主要包括表面纹理、阴影、相机视点与配乐的设置。模型的大部分外观都要定义表面属性,包括纹理、材质贴图、融合方式以及透明度。纹理是一个可以包裹在三维形体上的图片,在实时图像处理中,因为计算机性能的原因经常要在显示质量和性能之间权衡。正确的光照对于令人信服的虚拟场景来说是必不可少的。体现在环境中的光照和阴影能给使用者带来视觉上的冲击。模型利用了多种Quest 3D中的虚拟光照技术。例如常用的外部光照、自发光、实时阴影和光照贴图等。在阴影设置方面,模型都采用纹理方片来模拟动态物体的阴影效果。模型的像机从场景出现的那个地方定义视点。选择恰当的像机是非常重要的,因为它会直接影响到使用者体验场景的方式。相机包括第一人称穿行像机和第三人称穿行像机,这两种相机可以实现模型互补观察的作用。在声音设置方面,主要是对拾取、拆装模型的动作进行了设置。

第六步,模型的交互性实现。模型后期处理后即可进行交互设计,Quest 3D实现的室内外交互驱动主要包括对静态的零件模型进行拾取、平移、旋转、缩放操作的驱动设置,这些动作的设置要处理好两方面:碰撞检测与堪寻路径。碰撞检测,主要是利用Quest3D中提供的Collision Objec(t碰撞物体)和Fast Collision Response(快速碰撞反应)模块对地形和建筑物的碰撞检测。堪寻路径(探路)指在虚拟环境中,依靠许多的分段点或节点来组织安排探路。模型库的探路通过两个信道来处理。第一,3D Graph三维曲线图,它包含了所有节点和路线结构信息。第二,Motion Planning运动计划信道,它通过从当前位置到目标位置的线路结构计算最快的路线。

第七步:成品的发布。模型库在Quest 3D中制作完成之后,根据Quest 3D授权的发布选项进行发布。这样,使用者便可不用安装和使用Quest 3D软件,只需Quest3D阅读器加载并运行模型库。

3 结论

基于Quest 3D的三维交互式制图模型库使用方便,它可以促进高校现代教学方法的改革,提高教学效率,弥补传统教学枯燥、单调的不足。同时,它将学习的过程变得更加生动有趣,使学生更容易接受、理解和掌握工程制图知识。

摘要:为了培养学生的三维立体思维,针对实物模型教学的不足,本文基于Quest 3D平台的虚拟现实技术和图像处理技术构建了一个用于展示和教学的交互式三维工程制图模型库。用户可以在模型库中自由漫游,全方位的观察所展示的模型,点播教学视屏和音频,使用户产生身临其境的感觉,以此提高学生的学习兴趣和教学质量。

关键词:模型库,虚拟现实技术,Quest3D,交互

参考文献

[1]黄俊铭,艾伯特电通.Quest3D黑皮书——从入门到精通[M].上奇科技出版社.

[2]康克生,刘雪琴.工程制图教学中虚拟模型库使用效果分析[J].2013,32(1).

3D交互系统 篇5

网络通信技术的发展促使网络带宽和网络用户不断增加, 基于Internet实现实时在线的三维虚拟场景交互式展示已成为可能, 同时用户可以通过电脑和智能手机等多种终端设备访问在线三维虚拟场景。旅游景点、文化遗址、商业楼盘、购物商城等场景的在线交互式虚拟展示成为当前研究的热点问题, 但现有的在线虚拟场景往往存在规模较小、内容较少、交互方式单一等问题。

ShiVa3D是一款支持多种操作系统平台的3D游戏引擎, 包含所见即所得的场景编辑器、多平台发布工具、网络多用户服务器等, 支持实时地形编辑、动态复合对象 (Compound Dynamic Body) 建模、大规模虚拟场景管理与优化、Web浏览器展示、C/C++/LUA脚本编程等, 基于XML协议和SOAP协议实现网络应用程序与各种数据库和服务器的兼容。为提高大规模在线虚拟场景展示的实时性和流畅性, 丰富虚拟场景的内容及其用户交互方式, 本文采用ShiVa3D引擎实现对巴东古县城的复原和在线虚拟交互式展示。

1 在线虚拟交互式展示系统设计

以巴东古县城为例, 设计了一种在线三维虚拟场景交互式展示系统, 主要有虚拟场景漫游、视角切换、语音交互控制、手势交互控制、虚拟对象属性查询等功能。虚拟场景漫游包括交互式漫游和固定路径漫游两种模式, 主要用于用户观察虚拟场景的室内和室外情景, 是系统的核心功能。视角切换、语音交互控制和手势交互控制可改变以往单一的鼠标或键盘交互方式, 增强系统的趣味性和交互的自然性, 使用户全方位、多视角体验虚拟场景的丰富内容。对于感兴趣的历史建筑、虚拟文物、历史事件和历史人物, 用户可通过属性查询功能浏览相关信息的文字描述、图片或视频演示等。

如图1所示, 基于ShiVa3D引擎的在线三维虚拟场景交互式展示系统开发包括系统设计、虚拟场景构建、交互式展示、发布与测试4个阶段。系统设计主要是在分析ShiVa3D引擎特点的基础上, 设计系统的功能和技术实现方案;虚拟场景构建是通过利用ShiVa3D引擎的地形编辑工具制作3D地形、绘制地表的虚拟植物和树木, 利用ShiVa3D引擎自带的3D模型制作和动画编辑工具制作几何形状简单的3D模型和动画, 同时导入利用第三方建模工具所制作的3D静态模型和动画;对于虚拟场景中的各种3D模型和动画采用ShiVa3D引擎提供的模型管理与优化功能进行处理, 提高系统整体性能和实时性;交互式展示主要是通过碰撞检测技术和ShiVa3D脚本编程实现虚拟场景漫游的各种交互式控制, 如鼠标和键盘交互控制、语音交互控制、手势交互控制等;最后一个阶段是利用ShiVa3D多平台发布工具将开发完成的系统发布为Web格式文件, 用户只要安装插件ShiVa Players即可通过Web浏览器在线体验流畅的三维虚拟场景, 并根据测试结果解决前面三个开发阶段存在的问题和不足。

2 三维虚拟场景构建

地形、建筑物、人物、花草树木等虚拟场景元素的建模, 不仅可采用Maya、3DSMax、Solidworks等常用3D建模工具, 而且可采用相关专业模型制作软件, 如3D树模型制作工具TreeGenerator等。巴东古县城包括30多个民宅、2个小桥、1个县衙、1个寺庙等静态对象, 以及许多历史人物、家禽、小鸟等动态对象。巴东古县城虚拟场景的构建流程是:首先, 利用Maya、3DSMax等常用3D建模工具制作各种建筑物和特殊花草树木的静态模型, 以及动态对象的3D动画设计;其次, 利用巴东古县城的历史地形图和ShiVa3D引擎的地形制作工作直接生成逼真的3D地形;最后, 向虚拟场景中导入植被、树木、建筑物、人物动画、动物动画等3D模型对象, 并调整模型的位置、设置3D动画的播放方式。

2.1 地形建模

利用ShiVa3D的地形编辑器 (Terrain Editor) 构建虚拟场景地形, 包括基本3D地形的建模和通过地形纹理设置模拟虚拟场景中的花草树木等植被对象两个基本步骤。第一步, 利用Terrain 菜单中的Create命令创建一个平坦的地形, 然后利用地形编辑工具在平坦的地形上绘制噪声, 使得地形有起伏和地表纹理;第二步, 利用地形编辑器中的Paint工具绘制地表植被, 如被风吹动的草、树木、道路等。完成地形建模之后, 便可得3D地形 (图2) 。

2.2 外部模型导入

虽然可利用地形编辑器创建3D地形以及部分花草树木和道路, 也可利用动态复合模型构建工具制作一些简单的3D模型和动画, 但这并不能满足复杂虚拟场景展示的要求, 仍需利用第三方建模工具制作一些精细的复杂3D模型和动画。ShiVa3D引擎支持的3D模型文件格式主要有dae、dwf和bsp, 需要在Maya、3DS Max等建模软件中安装模型导出插件ShiVaTools导出dae格式的3D模型或动画文件;将制作完成的3D模型或动画导出为ShiVa3D支持的任何一种格式之后, 便可利用Data Explorer工具栏中的Import->Model命令将其导入到虚拟场景中, 并设置其几何尺寸、大小、空间位置等参数。

在巴东古县城这个大型三维虚拟场景构建过程中, 会多次重复使用某些3D模型或动画, 如部分民宅、树木、飞鸟、小鸡等, 它们仅仅是位置、大小和方向不一样, 模型几何形状、网格结构、纹理贴图等都完全相同, 如果重复向虚拟场景中导入同一个3D模型或动画必然会造成三维几何对象数量的迅速增加, 浪费大量的存储空间和计算资源。由于通过模型实例化创建的模型对象并不会增加虚拟场景中几何模型的多边形数, 可节省系统的大量内存和磁盘空间, 减少对存储空间和计算资源的消耗, 缩短在线虚拟场景展示系统的响应时延。因此, 通过一个指向模型的指针以及模型实例对象的空间移动、旋转、缩放等变换实现3D模型的重用, 即采用模型对象实例化来解决同一个模型在虚拟场景中重复使用的问题。

3 三维虚拟场景漫游与交互控制

3.1 三维虚拟场景漫游

三维虚拟场景漫游主要有交互式漫游和固定路径漫游两种方式。交互式漫游具有很大的灵活性, 主要由用户操作鼠标或键盘等输入设备实现漫游位置和方向的控制, 漫游的视点类似于人眼在虚拟场景中的化身, 系统根据场景中虚拟摄像机的位置、相对高度、视角等参数自动进行场景分析和路径选择, 并根据实际情况实时绘制虚拟场景。一般可定义前进、后退、左移、右移等基本漫游动作, 这时视点的方向保持不变。ShiVa3D引擎采用的是Z轴向上的左手坐标系, 沿Z轴方向将视点平移一段距离F, F的值大于0时是前进, 小于0时是后退;沿X轴方向将视点平移一段距离R, R的值大于0时是右移, 小于0时是左移。按照这种漫游控制方法, 通过空间向量分解运算即可计算得到视点的新空间坐标。

路径漫游是按照事先设置好的固定路径、视角参数等进行三维虚拟场景的漫游, 如图3所示。视点的高度、运动速度、运动路径等设置成功之后, 系统便会实时更新视点的空间位置并绘制相应视角范围内的虚拟场景。

由于用户与虚拟场景的交互以及虚拟物体的运动, 虚拟对象可能与其他物体经常发生碰撞, 为保持虚拟场景的真实感和逼真性, 需要及时、准确地检测这些碰撞, 并根据系统需求做出响应, 否则物体之间就会发生穿透现象, 严重破坏虚拟场景的真实感。在虚拟场景交互式漫游系统中, 作为用户视点化身的虚拟摄像机以及场景中的相关物体, 如地形、建筑、树木、人物等都需要添加适当的碰撞器, 同时采用适当的碰撞检测方法探测不同对象之间是否发生了碰撞。近年来, 国内外相关研究者提出和改进了许多碰撞检测算法, 在虚拟场景漫游中应用最广的是层次包围盒法。层次包围盒法是利用体积略大而几何形状简单的包围盒将目标对象包裹起来, 在进行碰撞检测时, 先进行包围盒相交判断, 当包围盒之间发生相交时就表示发生了碰撞, ShiVa3D引擎就是采用这种方法实现虚拟场景中虚拟对象的碰撞检测。导入3D静态模型和3D动画之后, 可对需要添加碰撞检测功能的模型和动画主体设置碰撞检测器 (Collider) 属性。

3.2 基于语音和手势的交互控制

语音和手势是人们日常生活中最常用的互动交流工具, 也是一种最自然的交互方式。传统通过鼠标、键盘等硬件设备实现的人机交互缺乏沉浸感, 语音识别技术和手势识别技术的发展促进了它们在数字电视机、虚拟展示、网络游戏方面的应用。一方面, 在噪音较大的环境中, 语音交互的效果很差;另一方面, 目前比较成熟的语音输入法和语音交互方式都需要不断地下达语音输入开始的指令, 如按下说话按钮或长按说话按钮。根据手势交互的工作原理, 可将其分为接触式和非接触式两大类。接触式手势交互主要是利用多点触控技术识别用户手指在屏幕上的动作, 从而判断用户所发出的交互指令, 往往局限于使用触摸屏的终端用户。非接触式手势识别主要是利用摄像头采集到的静态手部形状特征判断用户的指令内容, 或利用光笔等手持设备、微软Kinect平台等体感交互设备识别用户的手部运动轨迹, 根据用户手部运动轨迹判断指令内容, 主要缺点是手部运动轨迹信息采集设备昂贵。为此, 通过语音交互和手势交互的结合, 利用摄像头和话筒即可实现自然的三维虚拟场景交互控制, 具体方案是:

(1) 伸开五指表示开始输入语音, 握紧拳头表示停止语音输入。

(2) 竖起大拇指表示前进、竖起小拇指表示后退, 竖起无名指表示右移, 竖起中指表示左移, 同时竖起中指和无名指表示打开系统主菜单。

(3) 当周围环境噪音较大时采用手势交互方式, 当用户不方便将手部对准摄像头时采用语音交互方式。

4 总结与展望

本文基于ShiVa3D引擎设计并实现了一个复杂三维虚拟场景的在线交互式展示系统, 主要采用了大规模复杂虚拟管理与优化技术、层次包装盒碰撞检测技术、语音和手势相结合的交互控制技术等, 能够给用户提供自然的人机交互、逼真的三维虚拟场景、流畅的漫游体验等。随着计算机性能的不断提升, 基于语音交互和手势交互相互融合的人机交互方式将为虚拟展示和网络游戏带来更自然、更逼真的虚拟体验, 面向3D网络游戏的体感交互模型与技术值得进一步研究。

参考文献

[1]爱迪斯通科技公司.ShiVa3D简介[EB/OL].http://www.shi-va3d.cn/intro/Index.html, 2012.

[2]童小念, 罗铁祥, 李志玲.MuItiGen Creator建模技术的优化与实现[J].计算机系统应用, 2008 (2) .

[3]AYBARS UGUR.TAHIR EM RE KALAYCI.Automatic genera-tion of virtual computer rooms on the internet using X3D[C].ICCS2007.Berlin, Germany:Springer-Verlag, Part II, 2007.

[4]杜宝江, 刘佳, 钱诚元.网上博览会虚拟场景在线拖建技术研究[J].系统仿真学报, 2010 (9) .

[5]薛艳敏, 胡静, 李晓玲.基于网络的产品虚拟展示系统设计与研究[J].机械科学与技术, 2011 (7) .

[6]熊伟, 毛善君, 马蔼乃.基于观察者的碰撞检测技术在虚拟环境漫游中的应用[J].计算机应用, 2002 (11) .

[7]VANDEN B G.Efficient collision detection of complex deformablemodels using AABB trees[J].Journal of Graphics Tools, 1997 (4) .

[8]姜晓路, 刘渊.一种新的基于混合层次包围盒的碰撞检测算法[J].计算机工程与应用, 2012 (6) .

[9]小光.电视迈向语音手势交互时代, 遥控器将消失[EB/OL].ht-tp://hea.chinabyte.com/256/12244256.shtml, 2012.

[10]王中宝, 任丽月, 张宇红.关于手势交互移动平台的手势研究[J].大众文艺, 2012 (5) .

[11]万华根, 肖海英, 邹松.面向新一代大众游戏的手势交互技术[J].计算机辅助设计与图形学学报, 2011 (7) .

3D交互系统 篇6

关键词:Web3D,JAVA,工业产品

3D图形技术不是一个新话题, 但是3D图形对机器的要求较高, 以往都是在图形工作站实现的。然而, 随着计算机技术的发展和互联网的出现, 却使3D图形技术发生了微妙而又深刻的变化, 并且深刻影响各个领域。Web3D协会 (前身是VRML协会) 最先使用Web3D术语, 这一术语的出现反映了这种变化的全貌, 我们把Web3D理解为:互联网上的3D图形技术。下面以PC为平台, 实现一个产品3D展示, 来说明现在Web3D技术。

本文用到的VRML是3D图形和多媒体技术通用交换的文件格式, 它基于建模技术, 描述交互式的3D对象和场景, 不仅应用在互联网上, 也可以用在本地客户系统中, 应用范围极广。由于网上传输的是模型文件, 故其传输量大大小于视频图像。

制作互联网3D图形的软件并没有完全遵循VRML97标准, 许多公司推出了它们自己的制作工具和插件, 对用户而言, 要在互联网上观看用这些软件制作的3D图形, 先要下载1M~7MB的插件, 然后安装在网页浏览器上。插件的种类之多, 这也使得用户难以选择。要观看10个不同的网站, 用户就需要下载并安装10个不同厂家的插件。这是难以忍受的。

所以, 我们在综合考虑之后采用了基于JAVA的Wirefusion作为创作工具。Wirefusion是一个可视化编程工具, 可以设计出先进的、交互式动态web3d网页。

Wirefusion是一个多媒体平台, 集成了几种不同的媒体类型, 成为一个单一的播放器。它支持三维, 二维、macromedia的flash、视频和mp3音频, 也能够创造360度的全景图, 幻灯片及缩放图像[1]。不需要安装插件就可在客户端观看作品, 这样就大大方便了访问者。

在模型制作方面, 采用的是3Ds Max 2010, 该软件是Autodesk公司开发的基于PC系统的三维动画渲染和制作软件。在WindowsNT出现以前, 工业级的CG制作被SGI图形工作站所垄断。3D Studio Max+Windows NT组合的出现一下子降低了CG制作的门槛, 首选开始运用在电脑游戏中的动画制作, 后更进一步开始参与影视片的特效制作, 广泛应用于广告、影视、工业设计、建筑设计、多媒体制作、游戏、辅助教学以及工程可视化等领域[2]。该软件在国内, 有很庞大的使用人群, 有很好的群众基础, 非常便于推广使用。

本文以国产“红旗”牌轿车为例, 采用的车型是红旗盛世HQ300型汽车, 需要全方位展示汽车, 用户可以交互操作车门开关以及车灯开关。

首先, 创建蓝本, 我们需要确定将所有的蓝本进行对齐, 可以很容易的在Photoshop下完成这一步。将汽车前视图投影到一个面片栅格上, 沿着汽车的主要边线勾画出它的各视图轮廓线。对照其他的几个视图 (顶视图、后视图等) , 用同样的方法做出其它的轮廓。然后在3D Max中将所有的图片对齐到一个平面上。沿着画出的line挤出一个面, 再按照车的大体结构, 进行边的复制, 适度缩放, 做成大体的车身, 由于需要车门和车灯的动画, 所以这几部分需要单独来做, 其它部分包括内饰也用同样的方法制作完成。分别给汽车各个部件添加材质, 并且使用Render To Textures技术将贴图保存。制作完成后, 按照VRML97格式将模型导出。

进入Wirefusion, Wirefusion的作品设计方式是采用预编程, 在Wirefusion里有一套被称为Wirefusion对象, 或者是物体。使用或重用已设计好的对象, 可确保你设计的作品的文件小且稳健。首先导入背景图片, 可以用来约束范围, 然后导入模型, 并且给每个部件添加贴图, 可以在Wirefusion中设定反射, 然后设定每个交互按钮的功能, 编程方式非常类似于传统的编程技术, 数据或资料 (俗称参数, 如数字、字符串、颜色、图像等) , 由一个函数送到另一个函数。但是, 区别于常规技术是, Wirefusion是把两个有关联对象用连接线, 把它们连接起来, 显得非常直观。但是不能直接交互式的更换贴图, 比如车体颜色, 如果需要更换车体颜色, 则必须在网页代码中修改, 全部设定完成后测试。如果没有问题, 发布到网站。

更换车体图片需要在网页中添加如下代码:

并且配合Wirefusion中设定的脚本文件, 就可以实现在网页中实时更换颜色的功能了。至此, 基本完成了所需要的功能。完成后的程序运行稳定, 状态良好。

虽然, Web3D技术将有好的发展前景, 但仍然不可盲目乐观, 它还面临着很多问题, 如带宽、处理器速度等。现在的Web3D图形是有几十种可供选择的技术和解决方案, 多种文件格式和渲染引擎的存在是Web3D图形在互联网上应用的最大障碍, 而这种局面还将长时间存在。网站的访问者必须先花费时间下载对应的插件, 然后再像安装软件那样安装这个插件, 才能观看一个十分粗糙的3D图形。用户苦不堪言。网络带宽也是制约网上3D图形发展的另一个主要瓶颈。

所以本文建议使用JAVA3D, JAVA在互联网上几乎随处可见。使用JAVA的重要理由之一是它的平台无关性。负责编译JAVA程序的是JAVA Virtual Machine (JVM) , 不同的平台有它自己的JVM, 处理与平台相关的功能。因此, 只要支持JVM, 就能运行JAVA小程序。两种最有名的浏览器Netscape和IE都支持JVM。因此用JAVA制作的3D图形几乎可以在所有的浏览器上显示。

当前, 互联网上的图形仍以2D图像为主流, 但是3D图形必将在互联网上占有重要地位。互联网上的交互式3D图形技术Web3D正在取得新的进展, 形成自己独立的框架, 并且会广泛应用在如电子商务、联机娱乐休闲与游戏、科技与工程的可视化、教育、医学、地理信息、虚拟社区等方面。

参考文献

[1]http://www.web3d.com.cn/.

3D自动成像系统 篇7

1 系统总体设计

3D自动成像系统的系统结构总框架图如图1所示。由系统结构总框架图可知, 以3D自动成像软件为控制中心, 电脑安装运行3D自动成像软件后, 只需用USB数据线将智能旋转平台和单反相机与电脑连接, 接上设备电源, 调整好单反相机和无影灯箱拍摄环境后, 打开电源开关, 设置好拍摄参数, 然后点击开始拍摄即可由3D自动成像软件对单反相机和微控制器发出控制命令对智能旋转平台上的物品进行多角度拍摄, 拍摄后的照片会自动传到电脑本地, 拍摄完成后可以点击制作360°全景展示动画。

2 硬件电路设计

2.1 供电电源电路设计

对于电源部分, 使用12 V的DC适配器, 通过火车头插头将电源输入, 经过78M05-5.0稳压IC将12 V稳压到5 V以供单片机和外设电路使用。由于原理图中既有数字电路又包含模拟电路, 这里通过π型滤波将数字电源5 V进行滤波, 作为模拟电路的电源 (5 V) , 数字地和模拟地通过0欧电阻隔开, 用发光二极管显示电源的工作状态, 亮时表示电源工作, 如图2所示。

2.2 USB转串口通信电路设计

USB转串口即实现计算机USB接口到通用串口之间的转换。为没有串口的计算机提供快速的通道, 而且, 使用USB转串口设备等于将传统的串口设备变成了即插即用的USB设备。作为应用最广泛的USB接口, 每台电脑必不可少的通讯接口之一, 它的最大特点是支持热插拨, 即插即用。众所周知现在笔记本上很少带有串口了, 而串口又是做电子设计必备的通讯接口之一, 好在USB转串口比较方便, 为了使通信更加稳定, 如图3所示我们采用通过有线USB转串口FT232RL的形式进行数据通信, FT232RL为接口转换芯片, 可以实现USB到串行UART接口的转换, 也可转换到同步、异步Bit-Bang接口模式。FT232RL工作电压为5 V, 单片机工作在5 V, 一旦FT232RL的电压串到单片机中, 就会损坏单片机, 同时FT232RL的信号会干扰单片机, 也可能导致系统工作失误, 因此接口器件必须经过光耦的隔离接到单片机。

2.3 步进电机驱动电路设计

为了让智能旋转平台转起来必须要有电机的带动, 我们这里采用二相混合式42步进电机来带动智能旋转平台, 步进电机可以实现精准定位控制, 其步距角为1.8°, 工作电流1.5 A。步进电机是将电K脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下, 电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数, 而不受负载变化的影响, 当步进驱动器接收到一个脉冲信号, 它就驱动步进电机按设定的方向转动一个固定的角度, 称为“步距角”, 它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量, 从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度, 从而达到调速的目的。

为了驱动步进电机需要驱动电路, 如图4所示是42步进电机的驱动电路, 经过查找资料和综合考虑之后我们决定采用带转换器和过流保护的DMOS微步驱动器A4982。A4982是一款完全的微步电动机驱动器, 带有内置转换器, 易于操作。该产品可在完整、1/2、1/4及1/16步进模式时操作双极步进电动机, 输出驱动性能为35 V及 ±2 A。A4982包括一个固定停机时间电流稳压器, 该稳压器可在慢或混合衰减模式下操作。因此, 即使管脚与邻近管脚间发生短路, 该器件也不会冒烟或着火。此外, 即使任何管脚与接地短路或开路, 该器件也不会冒烟或着火。转换器是A4982易于实施的关键。只要在“步进”输入中输入一个脉冲, 即可驱动电动机产生微步。无须进行相位顺序表、高频率控制行或复杂的界面编程。

3 系统软件设计

3D自动成像系统软件设计部分主要包括了微控制器与3D自动成像软件间通信协议设计实现、智能旋转平台控制器软件设计和3D自动成像软件的软件设计。

3.1 系统通信协议设计实现

通信协议 (Communications Protocol) 是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式, 信息单元应该包含的信息与含义, 连接方式, 信息发送和接收的时序, 从而确保网络中数据顺利地传送到确定的地方。

本设计的通信协议设计参考串口通信协议的设计模块自定义了通信数据包格式, 如图5所示是一帧数据包的配置协议格式图, 配置协议指的是3D自动成像软件根据协议格式通过数据处理转发发送给智能旋转平台控制器的配置信息。其主要由数据包头和包尾的标志、包长、数据以及校验和等几部分组成。

3.2 智能旋转平台控制器软件设计

在智能旋转平台控制器软件设计当中主要是根据定义的通信协议进行软件编码, 其程序流程框图如6所示。

3.3 3D自动成像软件的软件设计

将单反相机与电脑通过USB数据线连接, 打开并运行3D自动成像软件, 注意此时3D自动成像软件选择相机框中一定要出现可以选择相机的选项, 并且能够点击“打开相机”按钮将相机打开, 才能将两者相连起来。然后再根据实际需求来设置相机对应的参数, 设置好相机参数后可查看实时模式, 可以在实时模式下进行跟踪拍照。拍好的照片直接传送到电脑的指定路径上, 免去了要拆下相机内存卡读照片的过程, 拍摄完成后无需做任何图片处理, 一键点击轻松制作3D动画。3D自动成像软件的软件设计流程图如图7所示。

4 结语

近几年来产品360°全景展示在网络上逐渐受到关注, 相比传统的产品展示方式360°产品展示给人耳目一新的产品展示方式, 产品可以360°自动旋转, 用鼠标还能左右拖动, 放大高清观看都没问题。毫无疑问, 在当今互联网时代, 电子商务有着重要一席, 那么在这浪潮中, 怎么抓住先机, 赢得主动, 360°产品全景展示值得首选, 在传统的产品展示中, 很多方面已经跟不上时代的变迁, 360°产品展示的普及成为必然趋势, 赶快让你的产品动起来, 生意“转”起来吧。3D自动成像技术是全新的智能摄影技术, 开启互动体验新时代, 使现代生活更进一步, 在社会生活的各方各面作用越来越明显, 对人们生活的进一步优化、对社会的进步也起到不可质疑的作用。技术的不断优化发展, 对我们的生活质量的提高具有巨大的推进作用。相信在不远的将来这项技术会有更宽广的前景。

摘要:针对传统摄影成本高、效率低下、拍摄质量不高、局限于平面化等问题, 给出了3D自动成像系统的实现方案。以串口通信技术和图像合成技术为主要研究手段, 突破传统摄影弊端, 从此让产品摄影简单化、全景化。他们只需配备一台电脑和单反相机, 系统通过3D自动成像软件控制单反相机及智能旋转平台对产品进行多角度拍摄, 便能在短短的几分钟内可合成出html5格式的产品360°展示动画, 而做出来的360°展示动画可以上传到他们的网站、网店、还可以给客户发送产品样板的360°全景展示效果, 只要客户点开该360°全景展示动画, 就能如实地观看到产品的不同角度跟细节, 大大提高了用户体验度, 从而增加产品销量。

关键词:智能,串口通信,图像合成,360°全景展示

参考文献

[1]王文泉.基于Serial Port的串口通信系统实现[J].科技广场, 2011, 30 (5) :21-23.

[2]马潮.AVR单片机嵌入式系统原理与应用实践[M].第二版.北京:北京航天航空大学出版社, 2011.

[3]周润景, 江思敏.PADS logic/layout原理图与电路板设计[M].北京:机械工业出版社, 2011.

[4]罗福强, 杨剑, 张敏辉.C#程序设计经典教程[M].北京:清华大学出版社, 2014.

[5]龙马工作室.精通Java Script+j Query:100%动态网页设计密码[M].北京:人民邮电出版社, 2014.

[6]冯庆东, 杨丽.C#项目开发全程实录 (第3版) [M].北京:清华大学出版社, 2013.

[7]谭浩强.C程序设计[M].第三版.北京:清华大学出版社, 2005.

上一篇:路面养护下一篇:非文学类文本论文