网络三维交互技术(精选6篇)
网络三维交互技术 篇1
摘要:利用Cult3D技术结合三维建模软件构建了网上虚拟模型库,实现了模型库的动态性、交互性、低带宽网络传输等特性,使学生可以借助计算机和网络进行探究学习,突破了时间与空间的限制,提高了学生的学习兴趣,在实际使用中取得了良好的效果。
关键词:交互,动态,虚拟模型库,CAD软件
0引言
机械制图是工科类各专业的一门重要的技术基础课,为了扩展学生的思维,教学中普遍采用多媒体课件授课[1],但课件中的动画演示过程不能随心所欲地按照授课者或学习者的要求控制,无法实现交互操作,限制了动画的演示效果。另外,一般的动画格式文件占用的空间较大,网上传输较慢,不便于浏览,而网络化教学在教改中势在必行[2]。
针对以上问题,笔者以Cult3D网络虚拟软件为平台,借助其他三维建模软件和动画制作软件,创建网络虚拟模型库,从而实现了网络化教学。通过Cult3dDesigner软件完成操作者与动画间的交互,使学习者通过控制浏览器可以从任意角度观察模型的外形,也可以利用动画的剖切和拆卸模型,观察其内部结构及部件的装配关系,从而达到类似真实模型的使用效果[3,4]。
1虚拟模型库的创建
1.1 虚拟模型库的设计
利用Cult3D平台制作的交互动画模型库包括了机械制图学习的所有模型,其组织结构如图1所示。
1.2 虚拟模型的创建
Cult3D本身不具有三维建模的功能,需要利用其他三维设计软件完成建模。通过了解,3DMax是目前使用较多的三维建模和动画制作软件,软件安装有对应的Cult3D插件,可以完成3DMax 模型与Cult3D 模型文件的数据交换,因此,我们主要采用3DMax作为模型创建和格式转化的工具。
通过对课程内容的分析,将需要完成的模型分为两大类:简单模型和复杂模型。
(1) 简单模型的制作:
对于此类模型,可以利用3DMax直接建模,如内容中的投影法、点线面和投影变换等。
(2) 复杂模型的制作:
此类模型,直接利用3DMax建模比较困难。可以首先利用其他三维设计软件(如AutoCAD、SolidWorks和Pro/Engineer)建模,然后利用3DMax软件进行数据转化[5]。如内容中的机件表达方法、零件图和装配图部分的模型。
1.3 动画仿真的制作方法
模型的动画制作包括简单的基本体、通过叠加和切割构成的组合体、表现机件的外形和内部结构的表达方法以及部件的装配关系。
基本体的动画制作比较简单,只要把建好的模型导入Cult3dDesigner软件,利用事件、对象、行为和动作等表达模型,实现模型的旋转、移动和缩放效果。
对于组合体和表达方法部分的模型,需要演示切割、组合和隐藏等效果。未切割时的基本形体如图2所示,实现最终的模型要切去的部分比较多,如果在Cult3dDesigner中制作,按照实际一步一步地来进行切割和产生动画比较困难。我们可以在制作动画时,先在其他三维建模软件中完成所有模型的建模(包括切割去的部分),然后利用3DMax完成数据转换,在3DMax的动画场景中,将所有模型无缝拼接在一起,从外观看上去像一个整体,如图3所示。接下来,通过设定关键帧完成所需要的动画设置,如在制作切除效果时便可以移动被切去的模型或利用隐藏完成切割,实现视觉上的效果,这样制作比较方便。
2动态与交互功能的设计与实现
2.1 Cult3D三维模型场景的制作
一个完整的三维场景包括几何体模型结构、材质、纹理贴图、灯光、摄像机和动画。利用Cult3D的事件、对象、行为、表达式和动作等来分层表达模型关系,从而实现当鼠标点击模型后出现各种效果。制作流程如图4所示。
将模型导入Cult3D后,对其进行动画设置,从而实现旋转、移动和缩放等交互操作动作。对于不能直接完成的一些交互设计,可以利用Java语言编译,生成class文件,在Cult3D 里添加Java程序完成交互设计[6]。
2.2 机件表达方法的交互设计
图5演示了全剖的形成过程,源状态如图左边所示,利用鼠标点击模型上的触发点,剖切平面动态由上而下将模型剖开,并且动态隐藏前半部分。图6是半剖的动态演示过程,与全剖类似,只是动态隐藏了上边右半部分或右前半部分。
2.3 标准件和常用件的交互设计
齿轮是机械传动中广泛使用的传动零件,它可以用来传递动力,改变转速和方向。图7演示了圆柱齿轮、锥齿轮和蜗轮蜗杆的传动过程。利用鼠标点击模型上的触发点,即可演示各自的传动特点。
2.4 装配图的动态拆装设计
通过部件拆装过程的动画演示,可使我们了解部件的功能、性能、工作运动情况、结构特点、零件间的装配关系和拆装方法等。部件的整个拆装过程不仅要具有动态性、交互性和逻辑控制性,而且要符合实际的工艺要求。因而在动作设计中要进行相应处理,具体的动画设计思想是,用激活事件或解除激活事件控制每一个模型的拆卸或安装,用时间线控制动作的先后次序,用视点切换控制最佳的观察方位。通过预设视点列表实现视点的自动切换,在需要切换视点时,将视点列表中的相应视点与当前视点绑定(设定摄像机的参数为列表中的相应视点)[7]。图8为球阀工作原理动画截图,图9为球阀的拆装效果截图。
3利用网页搭建动态交互模型库平台
为了便于虚拟模型库的管理和浏览,虚拟模型库的主页以模型的轴测图展示。首先在3DMax软件中显示出要展示的模型最终效果,然后调整模型显示的轴测图位置,用截图软件截取模型图片,要求所有截图的格式和大小一致,以便于调整。
利用Dreamweaver软件进行主界面编辑,在网页上构建虚拟展厅。对上面截取的模型图片进行整理,将Cult3dDesigner中制作的CO文件插入到网页中。利用Dreamweaver设计模型库的导航界面,当鼠标点击相应的内容时即可进入模型缩略图展示页面,再次点击相应的鼠标,由于缩略图链接到相应虚拟模型文件,即可打开虚拟模型。由于在IE中浏览文件需要安装Cult3D_IE相关插件,因此网页中要设置提醒浏览者安装插件的提示文字,并提供所需的插件。图10为模型库的主界面。
4结论
基于网络的交互式虚拟模型库,以动态、交互的形式演示空间模型,使教授者和学习者可以根据主观要求控制和操作浏览器,使用者与动画间完成交互,实现了从任意角度观察模型的外形,也可以动态地展示模型的剖切和拆装,达到了真实模型的使用效果。激发了学生的学习兴趣,提高了教学质量,推进了网络教学的发展。
参考文献
[1]冯桂珍,池建斌.基于Web的虚拟现实模型创建工具[J].工程图学学报,2004,25(3):30-34.
[2]袁保国,冯桂珍.基于Cult3D的机械制图虚拟模型库的构建[J].河北省科学院学报,2008,25(3):11-13.
[3]赵国霞.工程图学虚拟模型库系统的开发与研究[D].兰州:兰州理工大学,2006:20-25.
[4]冯桂珍,池建斌,王大鸣,等.基于Web的机械制图虚拟模型库的构建[J].工程图学学报,2008(6):149-154.
[5]游万里,范富才,姚涵珍.工程制图网络虚拟模型库[J].天津科技大学学报,2006,21(2):77-81.
[6]王玲.基于网络的工程制图虚拟现实模型库的实现技术[J].计算机与现代化,2004(8):125-127.
[7]梅沪光.基于AutoCAD的工程制图三维模型库的开发及应用[J].广东技术师范学院学报,2006(6):5-9.
交互式三维动画快速创作系统分析 篇2
关键词:交互式;三维动画;创作运用
三维动画艺术是近年来计算机科技发展的结晶,是动画艺术与计算机三维数字技术相结合的一门相对独立的新型艺术形式。三维动画艺术由最初的图像图形技术逐渐发展到现在,已普遍运用到电影、影视创意、后期特效、虚拟现实和数字媒体等多个领域。三维动画的发展先后经历了初步发展时期、迅猛发展时期和全盛时期三个阶段,已经形成了科学合理、系统完善的创作流程和艺术表现手法。
一、 三维动画教学存在的问题
当前在各个高校中虽然都普遍开设了有关三维动画的课程,但是,课程设置的重点并没有放在三维动画创作上,而更多的是把教学重点放在了各种先进的动画软件应用上,这样的教学活动就让三维动画课程重心出现了偏移,学生的实际创作能力也就不会提高。软件只是三维动画制作的一种工具性途径,而三维动画的创作才是动漫产业得以持续发展的关键。但是从当前动画作品来看,大多数都是用先进的技术效果来渲染动画效果,实际创作思路并没有实现创新。这也是当前三维动画创作出现问题的原因之一,教学理念没有实现创新发展。当前,在课程改革的浪潮中,三维动画的教学目标和对学生的培养方向也要适当进行调节。在原来学生的培养方式主要是以掌握基本三维动画创作知识为主,而在课程改革之后就强调对学生能力的培养,但是由于某些学校没有联系学生实际而进行培养目标的制定,导致学生的发展偏离了主要的方向,目前,学生所提高的能力都放在了先进技术的应用,而忽视了最基础的三维动画创作能力的提高。这种缺少目标的教学不但会阻碍学生的正常发展,更会导致学生失去对社会的适应能力。
二、交互式三维动画的设计技术
对象与场景的融合技术是数字图像处理中一项重要的技术。选择源图像中感兴趣的区域作为对象,然后无缝拼接到新的背景场景中,目标是让融合的结果图像看上去尽可能的和谐与自然。传统的泊松融合算法中,运用边界条件来解泊松方程,以实现在对象边界和场景目标的差异之间进行平滑的插值。这种梯度域融合方法必须要求融合的图像在梯度域上尽可能平滑。而选择更快速的均值坐标的方法,来逼近求解泊松方程。这种基于坐标的方法在实际运用中,不像上述方法那样需要解一个复杂的泊松方程,而是沿着边界对内部的每个像素加权后进行插值。其速度快,易实现,内存占用小,同时结果显示其融合效果也很好,能够达到实时性的要求。目前应用于创建基于 Web 的真实三维图形的编程语言极少只有 VRML2虚拟真实建模语言和JAVA3D等由于许多创建3D输出的软件都具有VRML文件格式的功能如3DSMAX而很多软件开发商也开发出在Web上显示VRML格式文件的插件Plug-In最著名的有Comosplayer2等。因此,利用VRML2来创建网上3D模型是最佳的选择。VRML2有丰富的造型功能共有10个构建几何Geometry 的节点,利用VRML2的几何节点和描述物体表面特性的节点,Appearance可以创建真实的基本三维形体,如圆柱圆锥、球等。如果结合Transform 的translation平移、scale缩放、rotation旋转、节点行插入节点、Inline以及DEF/USE工具,可以建立复杂的三维场景。
三、交互式三维动画的生成
三维动画起初的制作流程十分复杂,要经过草图的设计,虚拟场景的设置和场景中人物的动作设计等各个方面。这样一个工作流程需要很多人分工才能完成,往往一部三维动画需要耗费大量的人力、物力。传统的三维动画的制作中,人物的骨骼的运动,需要采用反向动力学的原理,通过确立子骨骼的位置,然后利用反向推导出其父骨骼方位。但是这种技术也存在一定的问题。其设定的参数比较复杂,需要花费大量的时间和人力。本文提出一种基于样例的交互式三维动画生成方式,这种方式能大大缩短三维动画的制作过程,也使得已经完成的动作可以持续的使用。基于样例的动画合成方法是从已经存在的动画入手,这种方式避免了重复的大量劳动,成为当前计算机图形研究的一个重点。基于样例的动画生成技术,从基于草图的三维动画复制基础上产生。在这种方法下,用户可以在保留源动画的风格的情况下,随意加入自己的创意。因为这种特点,该方法就具有了很大的通用性。该生成方法完全是根据样例来驱动新的目标的。它不需要源网格和目标网格具有相同的三面角片数和顶点书,也不需要有类似的拓扑信息。这种方法也适合源网格和目标没有明确对应关系的情况。用户只需要使用草图工具在源对象和目标对象之间设立一种类似的运动状态即可。通过原型系统上的交互工具,可以让用户在多个源动画上指定复制区域,然后把这些动画复制到目标区域上。在目标区域上设置控制点,使用非闭合网络均值坐标,根据源动画的风格来变形目标网格。利用交互调整控制点的方法具体实施。通过优化计算的方法,计算出对应于各个样例姿势的权重,生成适合各个控制点的目标的动作帧。在这一步中,可以通过调整目标网格的参数来控制复制的结果,通过参数的设置来获取最光滑的目标网格,从而生成动画动作的关键帧。后期的美化处理。在复制完之后,新的逼真的三维动画就生成了。在基于样例的交互式三维动画的生成方式中,源动画和目标动画可以是完全不同的,它们之间通过线型草图进行联系。因此,源动画可以是多个,都与目标网格之间进行联系,并产生全新的动画,由此动画创作人员可以在节省步骤的基础上,自由的加入自己的创作理念。
四、结束语
目前在技术上,三维动画的制作可以采用多种方式,有基于草图的三维动画的生成,也有基于控制的三维动画的生成和基于样例的交互式三维动画的生成。
参考文献:
[1]蔡黄辉,Java.动画图形和极富客户端效果开发[J].企业文化,2014.
网络三维交互技术 篇3
一、三维动画的主要类型
1、以帧为基础的演示型三维动画类型
动画的制作过程根据固定的秩序进行制作, 制作完成之后, 设计人员使用渲染的方式对动画进行处理, 动画的基础因素为图片式文件, avi格式、jpg格式都是较为常见的类型, 在设计过程中, 电影和其它视频资料当中的图片可以通过转化的形式实现处理, 三维动画的制作同二维动画有诸多相似之处, 在对jpg等格式的图像进行处理的顺序完全一致, 无论是三维动画还是传统形式的动画, 图像的文件量比较多, 普通的三维动画会占据100mb以内的存储量, 而这一形式的动画在我国三维动画设计领域较为常见[1]。
2、以实时交互行为为基础的三维动画类型
实时交互行为可以通过对动画系统的处理实现对语言环境的创造, 场景的设计必须根据系统编程的具体环节, 严格按照场景的具体属性实施编程语言的设置, 以便三维软件可以实现对场景的有效控制[2]。
3、以自由度为基础的三维动画类型
三维动画在设计过程中, web系统是较为常见的系统形式, 在此过程中, 三维动画的运行模式能够保证对系统实施有效的管理, 在系统运转过程中, 系统的操作者可以按照自身的意愿对三维动画的具体运行模式进行控制, 以便系统在运行过程中能够保证对三维场景实施有效的管理[3]。在对系统进行管理的过程中, 可以根据设计人员的具体操作需要, 对系统当中的调节度高的步骤进行控制, 以便操作人员能够通过对场景的调换实现对动画文件的控制, 在对文件进行控制和调整的过程中, 必须充分尊重系统操作者的意愿, 通过对系统文件的使用, 将已经得到使用的文件进行运用, 并且将新型编程语言运用于三维动画当中[4]。
二、实时交互行为在三维动画设计当中的运用
1、三维动画相关场景的正确设计
实时交互行为的构建必须保证系统能够对各类外观进行正确的设计, 要使用截图的方式对图像进行不同角度的剖析, 并且对已经形成固定形状的物体进行空间方位的调整, 使物体的运动方向能够得到明确, 当空间当中的物体可以在运行过程中实施360°旋转的时候, 设计人员需要对物体各个截面的形态进行控制, 以便物体的运转可以实现全过程的三维处理。
2、完成对三维动画当中不同区域物体的层次设计
三维动画在运行过程中, 已经成型的物体和正在运行的物体属于不同的运行种类, 这两种运行种类的物体都能够实现独特的运行, 在三维动画的演示进行时, 不同二维空间内的影像资料会影响三维物体的层次结构, 因此, 要采取正确的方式对物体的层次结构实施设计[5]。首先, 必须保证设计方案具备正确的设计代码, Bottom_plane Transform…Transform可以作为尝试性代码使用。在代码设计完成之后, 要进行物体运行轨道的控制, 以保证物体的运行范围在预测的范畴之内。要根据物体的运转周期对物体运行过程中的节点实施管理, 如果需要物体进行常规移动, 则需要物体能够按照既定的程序实施有规律的旋转, 可以使用Plane Sensor作为基础, 对已经定型的空间物体实施三维空间的设计, 在进行轨道设计之前, 要注意将xyz三个方向的主坐标进行设计, 以便物体的运行轨道能够得到良好的设计。
3、实施三维动画连续性的设计
首先, 设计人员要注意对三维动画运行过程中的地面信息实施合理的控制, Bottom_plane可以成为三维动画运行过程中的主要使用系统, 在进行挂件的设计过程中, 要正确使用VRML2 作为主要仪器, 并且使用正确的公式进行差值器的控制, 使用:
Value=f/ (k2-k1) * (v2-v1) +v1
作为公式, 这一公式是当前三维动画运行系统中最重要的设计公式, 公式设置完成之后, 设计人员要对系统的不同关键码进行数据的控制, 数据是否正确要根据代码进行测试, 因此, 实时交互行为的实施必须根据数据代码的整合与使用进行设计。在基本的代码设置完成之后, 三维动画系统会自觉进行触发, 要根据设计过程中的用户信息进行系统设计趋势的观察, 在设计的物体发生移动的过程中, 要根据使用者的习惯对观察人员的工作规划进行了解, 既要提升观察人员的工作便捷性, 也要注意对传感器装置进行控制, 以便不同的设计方案能够实现造型的有利控制。
4、完善实时交互行为的回路设计
三维动画的设计必须将场景的调节作为基础的设计理念, 以便能够运用正确的系统对动画的运动情况进行全面的掌握, 在系统的运行过程中, 系统可以通过对field的改变情况对回路进行设计, 并且按照设计方案的侧重点实施系统运行方案的规划, 以便系统在运行过程中, 能够根据回路的设置情况, 对不同节点中的数据信息进行分析研究, 并且按照浏览器的设置情况, 对系统传递信息的方式进行控制, 以便系统能够根据回路信息的具体情况, 对程序代码进行研究, 使实时交互行为能够具备更高水平的技术含量。
三、结论
计算机技术的高速发展使得三维动画成为了人们生活中常见的技术, 实时交互行为能够很大程度上提高我国三维动画的设计质量, 使我国三维动画获得更好的发展, 对实时交互行为进行技术层面的研究, 是提升我国三维动画设计水平的关键工作。
指导老师:惠学武
摘要:三维动画是当前我国动画的主流发展趋势, 并且已经逐步取代传统的动画形式, 在三维动画逐渐占据更多市场的情况下对实施交互行为实施深入的研究, 能够很大程度上促进我国三维动画发展水平的提高, 使我国三维动画的设计拥有更加高水平的技术支持。
关键词:实时交互行为,三维动画, 设计技术研究
参考文献
[1]杜俊贤.基于OSG的虚拟场景中运动控制与交互技术研究[D].武汉理工大学, 2010.
[2]孟志刚.蚁群觅食仿真和动画的研究[D].中南大学, 2011.
[3]陈国华.三维关键帧动画的交互设计技术[J].计算机真, 2007, 04:221-224.
[4]扈园园.基于转K7型转向架的三维交互仿真系统的研究与实现[D].北京交通大学, 2009.
网络三维交互技术 篇4
关键词:无人机;操作训练;虚拟仿真;Pro/E;3DS MAX;Cult 3D
中图分类号:TP391文献标识码:A文章编号:1674-098X(2011)03(a)-0000-00
长期以来,无人机装备的操作训练一般依赖于实装开展,受到场地、人员、装备维护保养的限制,具有效率低、代价高、训练内容片面的弊端。利用虚拟仿真训练系统进行无人机操作训练,能够有效克服实装训练中存在的问题,且经济、智能、可重用,具有广阔的应用前景。
无人机虚拟仿真三维交互模型作为用户训练中的直接操作对象,对整个虚拟仿真训练系统起着至关重要的作用,必须具备逼真的外观形象和强大的交互功能,其设计实现涉及到计算机仿真与虚拟现实的相关技术和结合机制问题。采用Pro/E、3DS MAX及Cult 3D软件相结合的形式,利用三者之间的兼容性进行优势互补,是解决上述问题的有效途径[1-4]。在分别运用Pro/E和3DS MAX对无人机实现精确建模和动画模拟的基础上,借助Cult 3D进一步实现模型的交互功能,能够有效确保无人机虚拟仿真三维交互模型的逼真度、沉浸感和可控性,对提高无人机虚拟仿真训练系统的训练实效具有重要意义。
1 无人机三维实体模型的建立
由于Cult 3D本身没有仿真建模功能,3DS MAX难以实现精确三维建模,故无人机三维实体仿真模型需借助Pro/E软件来建立[5]。Pro/E是美国PIE公司推出的一款CAD/CAM/CAE集成解决方案,是目前应用最为广泛的工业仿真设计软件之一。它采用设置特征参数的建模方式,使用参数来描述零部件的形状、尺寸和属性,所建三维模型的精度较高。图1所示为基于Pro/E软件建立的无人机某零件三维模型。
考虑到在无人机操作训练中,涉及大量的零部件的拆卸组装以及配合运动过程,无人机三维实体模型的建立采用拼接法,即先建立各个零部件的独立模型,再组装成整体,具体过程为:首先,对无人机所含零部件进行数量统计和尺寸测量,并予以标识;其次,根据统计数据和测量参数,使用Pro/MOLDESIGN模块创建各个零部件的三维模型,并予以修改和完善。所建立的单个零件模型要进行规范的命名编号,以方便后期的合成组装;再利用Pro/ASSEMBLY模块将所有零部件进行组装,形成无人机整体模型;最后将Pro/E生成的*.prt文件导出为*.stl格式文件。
图1 基于Pro/E软件建立的无人机某零件三维模型
2 无人机模型的渲染和动画设计
3DS MAX是Autodesk公司推出的一款三维动态仿真软件[6],具有强大的材质编辑功能,能细腻模拟实物的质地和纹理,在合理的灯光效果下可以渲染出逼真的视觉效果,给用户带来强烈的沉浸感。3DS MAX的动画设计通过设置关键帧参数实现,操作方便简洁,且几乎任何参数都可作为关键帧参数,能够生成多种复杂动画[7]。3DS MAX与Pro/E相兼容,能够对其生成的无人机三维模型进行渲染加工和动画设计,从而弥补Pro/E软件的不足。图2所示为基于3DS MAX软件制作的无人机装配三维动态模型。
(a)无人机装配图1
(b)无人机装配图2
图2 基于3DS MAX建立的无人机装配三维动态模型
利用3DS MAX对无人机三维模型进行渲染和动画设计的具体步骤为:首先,将 Pro/E导出的*.stl文件导入3DS MAX,对各个无人机零部件模型进行材质编辑、灯光效果设置。零部件模型使用实物照片进行贴图,并采用Ommi和Sky灯光作为背景灯光,力求渲染效果的逼真自然;其次,按照操作训练需求制作无人机模型动画。按照具体操作步骤将动画分解成若干阶段,在每个阶段规划零部件的运行时间和顺序,确保运动的同步性和协调性。
3无人机模型交互控制的设计
Cult 3D是由瑞典Cycore公司设计制作的一款三维虚拟仿真控制软件,其基于“事件规划窗口”的流程设计方式和图形化编程模式,使得对三维模型复杂运动的交互设计变得十分简单[8]。此外,Cult 3D还提供了Java API接口,用户可以通过JAVA编程实现更强大、更复杂的控制功能。Cult 3D与3DS MAX相兼容,能够对其生成的无人机三维动态模型进行交互功能设置,生成无人机虚拟仿真三维交互控制模型。
借助Cult 3D Export插件,在3DS MAX环境下将无人机三维动画模型导出为*.c3d文件,再将*.c3d文件导入Cult 3D Designer中,即可进行模型交互功能的设计制作,具体步骤为:首先,将所需的模型对象从“场景图表”(参见图3)中的拖入“事件规划窗口”,并在“演示窗口”中设置好用户视角;
图3 Cult 3D的“场景图表”
其次,将“世界启动”和“计时器”图标拖入“事件规划窗口”,并通过 “计时器时间线编辑窗口”设置模型动画的运行时序。设置模型运动时序是极为重要的步骤,要与3DS MAX中设置的动画时间相兼容,否则将出现模型运动的错乱。制作过程中,用户可通过“演示窗口”对所设计的虚拟交互模型进行预览,查找错误并修正;然后,再将“点击鼠标左键”图标拖入“事件规划窗口”,对模型对象运动的交互触发进行设置,直至训练操作运行完毕。最后,利用“文件发布对话框”将制作好的方案导出为*.co文件,作为虚拟仿真系统开发的无人机虚拟仿真三维交互控制模型素材。
4 结语
利用Pro/E、3DS MAX及Cult 3D软件对无人机分别进行三维实体建模、动画设计、交互控制设计,最后生成了逼真的、可控的无人机虚拟仿真三维交互控制模型,能够实现对无人机的三维运动仿真,操作训练模拟,大大提高了无人机虚拟仿真训练的可行性和实际效用。
参考文献
[1] 申蔚,夏立文.虚拟现实技术[M].北京:北京希望电子出版社,2002.
[2] 周晓琪.虚拟现实技术[M].北京:电子工业出版社,2003.
网络三维交互技术 篇5
在多用户并发交互方式下, 每个人的思想都可以得到充分解放。这在协同设计中非常重要, 只有把所有人的想法表达出来, 才能集思广益, 使设计决策更加科学和民主。但是现有三维协同设计系统普遍缺乏多用户并发交互的能力。简言之, 协同交互设计的一个出发点就是要构造自然和谐的协同交互环境, 在多人之间进行沟通和了解, 互相启发, 激发创造性灵感。
1 三维协同设计中的多用户并发交互方法总体框架
为保证三维协同设计多用户之间自然、和谐和方便的交互, 一是要求三维协同设计系统的主要功能不低于单用户系统, 这需要将3 D-C A D应用和数据进行复制式配置;二是要有较好的响应性和并行性, 这要求各个用户的操作先在本地执行, 然后通过相互交换操作事件到异地执行。由于各个站点交换的是用户操作事件, 而不是复杂的几何数据, 从而减轻网络负担, 提高实时性。
各个复制式3D-CAD站点通过交换操作事件来实现协同工作, 这要求在协同设计过程中通信部件总是正确无误地联接到物理网络上。但是由于各站点物理距离不同、各网段负载差异、以及数据包丢失而不得不重发等原因, 事件延迟和乱序不可避免。
各个站点的基本流程是以下几点。
(1) 对接受队列中因果操作事件排序, 但独立操作事件仍然是乱序的。
(2) 按照接受次序, 将队列中可以交换的操作事件直接予以执行, 将队列中不可以交换的事件进行操作转换之后再予以执行。
(3) 由于并非所有不可以交换的事件均能进行转换, 所以需要进行必要的次序调整, 即事件最终的实际执行次序不等同于事件接受时的次序。
(4) 在某些情况下, 次序调整也不能解决一类独立事件冲突, 这时就需要进行多版本处理, 以使各个用户的操作意图得以保证。
(5) 即使最终的结果是收敛的, 即各个站点保持了一致, 但也未必是一个正确有效地结果, 因此, 最后要进行有效性检查。
2 三维协同设计的一致性维护与并发控制
协同设计必须支持多个协作用户对共享实体模型的并行操作, 必须采用并发控制来保证共享实体模型在各个站点上的一致性。传统分布式系统的并发控制是一种面向系统的方法, 强调的是隐藏和屏蔽用户的并发活动。协同工作系统则是以人为中心, 支持协作者之间密切的人人交互, 希望一种自然和谐的交互, 除了满足一致性要求以外, 还要兼顾响应性、并行性、感知性和独立于网络延迟等方面的要求。
3 三维协同设计的拓扑元素命名与辨识
现有的拓扑元素命名机制是面向单机单用户环境的[10]。例如在Kripac命名机制中, 面名字是最主要的标识符, 边名字和顶点名字都是通过邻接面的名字来定义的。典型的面名字为一个三元组结构, Face Id (f) = (step Id, face Index, surface Type) , 其中:Face Id代表该面f的名字, step Id表示产生面f时的造型步骤, face Index表示在第step Id步造型中该面的索引号, surface Type则表示该面的类型。单机单用户命名机制可以用在集中式的协同设计系统中, 但是不能直接应用在集中式系统协同设计。虽然二维协同设计中业已存在类似问题[13], 但在三维协同设计中问题要复杂得多。
本文提出一种协同命名机制 (C o l l a b o-rative Naming Mechanism, CNM) 。CNM的基本思想和原则有两个:一是三维实体模型的边界表示中的每一个拓扑元素在各个复制式站点中被赋予唯一的一个名字;二是生成该拓扑元素时的准确操作状态可以通过该名字在所有站点唯一地被确定。
4 原型工具开发
拟基于3D-CAD系统开发一个支持多用户并发交互的三维协同设计的原型技术构件和辅助工具。一般而言, 协同工作系统中存在两类基本协作框架:透明协作 (collaboration transparency) 和明确协作 (collaboration awareness) 。需要根据3D-C A D系统的实际情况来选择合适的协作框架和开发方法, 对其进行封装, 在此基础上实现通信、会话管理、人人交互界面等功能。
3 D-C A D系统 (或者内核) 通常会有四种形式:源代码、平台A P I、标准单用户应用程序+二次开发A P I、标准单用户应用程序无二次开发A P I, 相应的协作框架和封装策略也存在明显差异, 可以分为典型明确协作框架、准明确协作框架、准透明协作框架、典型透明协作框架。其中, 典型明确协作框架需要对源代码进行封装, 要读懂源代并增加协作功能, 既要构造协同工作程序, 又要构造应用功能程序, 工作量最大。而且直接修改源代码会导致程序的模块性和结构性变差, 不符合软件工程的要求, 同时也不利于知识产权保护。典型透明协作框则对标准应用程序进行封装, 一般情况下 (例如应用共享工具Net Meeting) , 是通过截取标准单用户包括C A D应用程序的用户交互界面和传输界面像素来实现协同工作, 但是协同工作效率低、灵活性差、网络负担重, 难以支持多用户并发交互。
因此, 采用准明确协作框架或者准透明协作框架进行开。在该结构, 3 D-C A D系统是准明确的, 甚至是准透明的, 但是多用户之间基于协作工具所进行的协同工作却是明确的, 包括点到点之间的通信、会话管理、并发控制、协同感知和数据接口等。
5 结语
本文以三维协同设计中的多用户并发交互问题为背景, 提出了三维协同设计的多用户并发交互的总体框架, 研究了其中的关键技术和原型工具的开发问题, 重点讨论了三维模型中拓扑元素的协同命名问题。今后, 将沿着该思路进行下去, 对上述问题进行更深入的探索。
参考文献
[1]Kvan T.Collaborative design:what is it[J].Automation in Construction, 2000, 9 (4) :409~415.
网络三维交互技术 篇6
1 开发平台
Autodesk公司开发的三维动画渲染和制作软件3D Studio Max,现已广泛应用于建筑设计、多媒体制作、游戏、辅助教学以及工程可视化等领域的模型建设。Virtools引擎是法国全球交互三维开发方案解决公司开发的一款交互式三维开发工具,用拖放操作将行为交互模块(building blocks,BB)赋予虚拟对象,并以流程图的方式决定前后处理顺序,从而实现可视化的交互脚本设计。也可以利用内嵌的VSL语言直接访问开发场景,进行引擎优化与扩展。其体系结构如图1所示。
2 关键技术研究
2.1 并行化碰撞检测算法
碰撞检测是构造三维交互系统的不可缺少的一个组成部分,是指空间中任意两个不可刺穿的物体,不能存在于相同位置的空间区域[4]。现有的分布式面向对象检测法[5]、基于凸多面体结构的并行碰撞检测算法[6]等,由于算法速度、实验条件、系统执行过程的进程数等原因,并不适合所研究的课题。因此,提出球盒混合结构的并行化碰撞检测算法,用分治策略为虚拟空间中每个物体建立树形模型,用并行算法遍历树形模型结构。这样,可以加快遍历树形节点的速度,从而加快了碰撞检测速度。
设包围盒中心坐标为(X0,Y0,Z0),任意一点坐标为(x,y,z),边长为L,如将中心点坐标与坐标原点处于相同位置,则包围盒可用公式1描述:
设包围球球心坐标为(X0,Y0,Z0),任意一点坐标为(x,y,z),半径为R,则包围球可用公式2描述:
为了简化计算过程,设AABB包围盒位于坐标原点(0,0,0),令,X0不等于0,则包围盒与包围球之间的距离可用公式3描述:
设包围盒与包围球中心点的连线与坐标轴Z的夹角为β,则有:
当Y0<0且X0>0时,β=-α;
当Y0<0且X0<0时,β=π+α;
当Y0>0且X0>0时,β=α;
当Y0>0且X0<0时,β=π-α;
若β·D<|Z0|的值为真,则包围盒和包围球相交,反之则不相交。
2.2 LOD技术算法及优化
Virtools中的LOD技术是一个算法集合,为了提高虚拟环境中三维植物的真实感,利用开发平台软件包Virtools Dev的SDK,根据曲线逼近原理,提出一种新的模型优化算法,作为对Virtools Dev集成的几种LOD技术的有力补充。从图形系统接口获取物体的映射变换矩阵MT,aij指旋转、平移、缩放、投影,这4个矩阵相乘得到最终变换矩阵的一个元素(公式4):
L-系统生成的向量集合为P∈{P1P2P3…Pn},n是现有的顶点数量,P向量为行向量描述方式,bij是行向量描述方式中的一个元素,MT是最终映射变换矩阵,Vmin是点集合中所有x,y,z分量中的最小值所组成的新向量,Vmax是点集合中所有x,y,z分量中的最大值所组成的新向量,如公式5-公式8:
由Vmax构成向量空间PVmax,PVmin构成一个子空间B,是该物体的边框。模型或树木的第n-1个等级的边框为Bn-1,将边框与L-系统的描述存储在一起,再将边框上每一个点与最终的变换矩阵MT相乘,就获得Bn-1在显示屏上的边框Sn-1,即Sn-1=Bn-1Mf,S0是第一级边框的面积,S0与Sn-1的比值是其等级系数,在该植物所有等级中找出与这个等级系统最接近的值,以此确定显示等级。如公式9:
对集合P中的植物进行边框变换得到最终在屏幕上投影的矩阵,如公式10、公式11:
其中,Max和Min函数是对向量的单个分量进行对比得到最终值。这里Q为边框面积,Vmaxx是Vmaxx轴向的分量,Vmaxy是Vmaxy轴向的分量,Vminx是Vminx轴向的分量,Vminy是Vminy轴向的分量,如公式12:
3 系统设计与实现
3.1 系统结构
系统在结构设计上可分为6大模块:摄影机模块、操作菜单模块、位置与角度修改模块、材质模块、特效控制模块和数据存储模块,其关系如图2所示。
3.2 模型设计
为适应在网页上实时显示的需要,一个场景做出来的Polygon面数最好维持在10000~15000面之间,同时贴图不要超过10M为最佳。为了控制模型的点面数,在建模的同时,记录每个模型的点面数,以备控制、优化、修改。
3.3 算法实现
1)盒球混合碰撞检测算法
Virtools中封装了Collision Detection和Prevent Collision模块,都有一个属性Geometry Precision。这个属性供用户选择碰撞检测的精度,它有三个选项:Automatic、BoudingBox和Faces。根据实际项目需求,改造BoudingBox选项算法如下:
队列liveset中存放树形中待检测节点。通过判断函数RatioThreshold()的返回值,决定是否进行相交检测。
2)实现优化的LOD技术
对于大型场景模型采用默认的LOD模块即可,对于植物、精密设施等模型可以利用Virtools Dev提供SDK,在C++编程环境中开发定制的行为模块。对优化后的LOD算法进行实现,核心代码如下:
新算法自动实现了不同区域对视觉效果的影响,在保证高质量模型的同时有效提高实时编辑和渲染效率。
3.4 主要功能模块的流程
1)手动漫游
(1)Switch On Key、Translate:在Switch On Key通过设定参数W、A、S、D四个按键消息,然后在Translate实现四个方向的移动和行走控制。
(2)添加Object Keep On Floor V2、Object Slider同时对物体增加碰撞属性,和地板属性,设定Object Keep On Floor V2的参数,实现行走时保持在地面上,通过Object Slider的设置实现碰撞处理。
(3)添加Mouse Camera Orbit实现用鼠标控制镜头。流程图如图3所示。
2)交互功能实现:Virtools提供了功能丰富可扩展的类和函数,可以实现复杂三维虚拟场景的自动感应门、音乐设置、场景转换、语音讲解、图文介绍等动态交互功能。自动门流程如图4所示。
图4自动门功能3)视景特效:通过Switch On Parameter修改Switch On Parameter、Set Current Slot、Show、Hide参数的对应选项,启动四种季节流程。通过Position On Curve实现行驶的车辆、游鱼、飞鸟等角色对象。水面波浪、河水流动、睡莲等,作成平面模型,通过Texture Sine实现纹理的流动,通过Play Animation 3D Entity实现模型动作。用粒子系统实现喷泉、降雨雪等特效。
4 结束语
三维场景仿真能够让设计者的想法在电脑上真实地与人互动起来,并且以网页形式发布,具有较大的可移植性和再开发性,是继极具发展潜力的新技术。在数字城市及城市信息化建设中的应用还有很大的潜力,在对外宣传、招商引资和文化传播中,具有较高的实际价值。
参考文献
[1]Mara H,Sablatnig R.Digital Heritage and Healthcare Determination of Ancient Manufacturing Techniques of Ceramics by 3D Shape Es-timation[C]//Proceedings of the 12th International Conference Interactive Technologies and Sociotechnical Systems(VSMM2006),Xi'an,China.Berlin:Springer Publisher,2006:349-357.
[2]Furukawa K,Woong C,Hachimura K,et al.CG Restoration of a Historical Noh Stage and Its Use for Edutainment[C]//Proceedings ofthe 12th International Conference Interactive Technologies and Sociotechnical Systems(VSMM2006),Xi'an,China.Berlin,Germany:Springer Publisher,2006:358-367.
[3]Gutierrez D,Frischer B,Cerezo E,Gomez A,Seron F.AI and virtual crowds:Populating the Colosseum[J].Journal of Cultural Heritage(S1296-2074),2007,8(2):176-185.
[4]魏迎梅,吴泉源,石教英.碰撞检测中的固定方向凸包包围盒的研究[J].软件学报,2001,12(7):1056-1063.
[5]王兆其,赵沁平,汪成为.面向对象碰撞检测方法及其在分布式虚拟环境中的应用[J].计算机学报,1998,21(11):990-994.