英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料
基于Creator和3dsmax的场景模拟中不规则结构的建模
摘要
建立合适的3D模型在基于Multigen Creator和Vega软件的场景仿真系统的开发中起着重要的作用。但是,由多基因创建者构建复杂的结构非常困难。本文提出了一种利用3dsmax作为辅助建模软件的方法。以3dsmax开发的3D模型可以以3ds格式保存,然后导入到multigen Creator软件中。修改模型,然后由创建者以flt格式保存模型。为了减少模型数据,提出了简化策略。解决了在创建者中构造复杂模型的问题。在数字火箭仿真项目的开发中,用这种方法构造的模型具有良好的视觉效果,体积小,可以被Vega正确地驱动。
关键词:场景仿真;造型; 多基因创造者;3dsmax
场景模拟技术由模拟建模技术和模拟驱动技术组成。仿真建模技术意味着对需要在场景仿真环境中显示的所有模型进行建模。场景模拟驱动技术意味着它应该驱动场景,转换,布置,分配和替换模型,并应对大地形[1] 。仿真建模是整个场景仿真系统的基础。
如今,存在三种构建场景仿真中使用的3D模型的方法。
第一个是使用图形库和高级语言。图形库通常使用OpenGL或Direct。高级语言通常使用VC 。通过使用这种方法,我们可以非常自由地开发某些系统,应用大多数情况,并且软件成本较低。但是错误是开发人员必须掌握编程技术,具有许多计算机图形知识,并且对OpenGL或Direct知道很多。雷雪梅等人开发了基于OpenGL的火箭轨道场景模拟系统[2] ,杨力和吴峰完成了使用OpenGL技术的储氢合金冶炼技术的场景模拟系统[3] 。
第二种方法是使用虚拟现实建模语言(VRML)进行编程。VRML是虚拟现实建模语言的简化形式。VRML被广泛使用以方便浏览,易于编写和编辑,但是由于其解释特性绘制速度较慢,因此,如果驱动大规模,复杂的虚拟场景系统,很难对普通的实时效果产生影响。Ming Lei等[4] 和Zhou Xinjian [5] 对这一领域进行了一些研究。
第三是使用特殊的建模软件。在场景模拟领域,如今,有一些3D建模软件,例如Multigen Creator和Coryphaeus,以及地形建模软件,例如CTS,Terra Vista等。
在所有这些方面,由Multigen-Paradiam Inc.开发的Multigen Creator是视觉现实和场景模拟领域的首选。它具有卓越的性能,良好的稳定性和可靠性等显着优点,在专业市场中占有80%以上的份额。实际上,其文件格式Openflight(flt)已成为场景模拟中的标准。这种方法的优点是,它可以从编码中释放开发人员,简化了开发过程并节省了时间。缺点是应用程序的价格高。参考文献[6-7]中可以找到有关Multigen Creator的一些研究。
与其他CAD软件不同的是,尽管Multigen Creator可以轻松构建大规模地形,但很难构建一些复杂的机械配置。创建者的图形基础是多边形建模。它的绘制工具包括多边形,圆形和编辑工具,包括壁,峰,球,旋转,带状面和文本。但是,这些工具不足以创建复杂的模型。动画应用程序(例如3dsmax,Maya,Softimages和Lightwave)是通常用作场景仿真系统中的那些工具。在我们的工作中,选择Autodesk生产的3dsmax是因为1)3dsmax具有强大的3D建模功能。并且为了易于学习和低廉的价格,它已成为最受欢迎的动画3D建模软件[8] 。2)3dmax可以将场景另存为3ds格式的文件,可以将其导入到创建者中。这样,我们可以减少其他软件的数据传输步骤,从而节省了工作时间和软成本。
- 建模步骤
图1显示了建模过程,该过程从分析对象开始,到构建flt文件结束。分析很重要,因为它可以确定要使用哪些工具(3dsmax或Creator)。如果对象很复杂,这意味着它有许多异常部分并且不能划分为基本体,例如盒,球,圆柱等,或者具有很多曲面,则使用3dsmax构造这种类型的模型。相反,如果对象很简单,则使用创建者来构造它。在建模过程中,需要适当的简化策略。场景仿真系统对实时性有很高的要求。如果没有适当的简化策略,则该模型可能会构建得太大,并且与实时性能冲突。建模过程的结果是flt文件。flt是场景模拟领域的事实标准。flt文件可由诸如Vega之类的场景驱动软件使用。
1.1.在3dsmax中建模
1.1.1.单位设置
单位设置在3D建模任务中非常重要。作为成熟的软件,3dsmax在单位设置方面有规则。重要的是要注意系统和人机界面之间的距离。显示单位仅影响几何图形在视口中的显示方式。系统单位确定几何的实际比例。在默认设置下,系统单位为英寸,但在中国,应将其更改为毫米。创建者中的单位应设置为毫米,因此创建者和3dsmax中的大小是恒定的。
1.1.2.构造几何模型
在3dsmax中,通过更改参数,应用修改器并直接在创建面板上操纵子对象几何,可以将基本参数对象建模为更复杂的对象。通过调整值并打开或关闭某些按钮,可以创建数十个“新”构建基块。几何类型包括标准图元,扩展图元,复合对象,粒子系统,面片网格,非均匀有理B样条(NURBS)曲面和动力学对象。
3dsmax具有三种组织图形的模式。它们是网格,补丁和NURBS。但是在3ds文件中,所有模式都保存在网格中。对于这一点,由补丁程序或NURBS构建的模型在保存为3ds格式的过程中可能会出错。例如,将模型另存为3ds文件时,由NURBS生成的cv曲线将丢失。在建模过程中应注意这一点。
与具有固定形状和大小的物理构建块不同,可以更改对象和形状的参数以显着改变拓扑。以下是一些可以进行的更改示例:1)通过减少边的数量并关闭平滑选项,将圆锥体变成四边金字塔。2)将圆形物体切成饼状;3)直接以任何指定的宽度渲染样条线。
布尔减号操作通常在全力以赴时避免,因为布尔减号操作经常会犯错误,这些错误会使模型或丢失的面孔变形,并在切开手术期间增加许多无用的面孔。有两种方法可以代替布尔运算:将样条线建立的二维形状拉伸到实体,并在网格模式下编辑子级。
简化策略
简化策略
建立flt文件
在creator中改错
用creator建模
将模型输入creator
分析物体
通过3dsmax建模
以3ds输出模型
物体
图一.建模过程
在机械系统中,有很多管道。如果不需要在管子的内表面安装管子,则可以用刚体代替。这种替换可以减少管道模型的50%面。有两种方法可以对刚性管道进行建模:一种是在圆柱体上附加混合修改命令,另一种是使用可渲染的样条。为了简化和方便起见,第二种方法更好。因为通过移动控制点,样条形状易于控制,并且样条管具有较少的多边形,以实现插值特征,其中曲率发生变化以保持平滑度。图2显示了通过两种方法构造的两条刚性管。
圆柱模型
样条模型
图二.两种方法的比较
1.1.3.设置材料
3dsmax中有15种材料类型。除了多重/子对象等,大多数材料都可以正确导入到创建者中。在创建器中导入材质时,它们会在0-63默认材质(从64到最后一个)下方排列。实际上,对于大多数场景模拟系统而言,标准类型的材料就足够了
纹理在3dsmax和Creator中具有不同的含义。在3dsmax中,纹理只是材质的属性,而在创建者中,纹理和材质是符合逻辑的。Creator和3dsmax都不会将图片保存在文件中,而只会保存一些有关图片的信息,例如路径和比例。
3dsmax具有许多映射类型,例如位图,凹凸和不透明度。但是只能将位图导入创建者。将3ds文件导入到创建器后,由于路径丢失,无法立即显示纹理。可以通过以下步骤解决此问题,首先,在工具栏中打开纹理调色板,然后单击“列出纹理”以列出有关纹理图片的信息,其次,选择一张图片,单击“替换文件”并找到要显示的图片。导入纹理的另一种方法是渲染已应用材质和纹理的模型,获取图片,然后将图片作为创建者中的纹理应用于模型。
纹理的格式受到限制。尽管3dsmax和Creator可以使用大多数格式的图片,但Vega 仅能以RGBA格式显示RGBA格式的图片。因此,只有RGBA格式的图片可以用作纹理。Photoshop的RGB plus可以将图片从其他格式更改为RGB格式,然后通过手动将RGB更改为RGBA。
纹理尺寸应始终在纹理尺寸的大小应始终为2的幂。该尺寸可以由计算机更有效地处理,并且可以防止某些图像生成器中的不良副作用。
1.2. 将3ds文件导入Creator
3dsmax中的建模过程完成后,模型将保存在3ds文件中。3ds文件包含一系列有用的信息,以最少的细节描述由一个或多个对象组成的3d场景。3ds文件中的二进制信息以一种特殊的方式编写。
有两种方法可以将3ds文件导入创建器。第一种方法是直接导入。在翻译过程中,可能会发生一些错误,例如丢失或替换面孔。这些错误可以通过创建者中的工具来纠正,例如传输,复制。另一种方法是将模型通过3dsmax中的网格形式附加在一起,然后导入到Creator中。
在Creator中,z 是垂直轴,x ,y 是垂直于z 。Creator将使用鼠标输入的点投影到此三维坐标系中,并将其放置在跟踪平面上。电脑显示器的表面是二维的;跟踪平面用于在三个维度上准确放置数据库组件。该跟踪平面有两个组成部分:1)一个平面,所述3维坐标中任何地方所定义的空间的所述数据库。通常,使用鼠标左键输入的坐标会自动放置在跟踪平面上。2)位于跟踪平面上的二维网格。网格可以在笛卡尔坐标或径向坐标中定义,并且可以可见或不可见。
创建者文件的格式OpenFlight具有严格的等级制度。层次结构定义了数据库中节点之间的关系。层次结构中的节点以倒置树的形式链接在一起,该树从顶部的单个数据库头节点扩展到底部的对象,面和顶点节点。顶点节点不会出现在“层次结构”视图中[9] 。但是3dsmax没有那么严格的层次结构。尽管具有组概念(仅用于轻松选择的设计),但在3dsmax中,有关组的信息无法保存在3ds格式文件中。将模型导入创建器后,其层次结构将附加到g2组节点下,该节点在层次结构视图中默认创建。节点名称只是模型的名称。下一个节点是对象节点,然后是面节点。节点之间的关系很清楚。图3显示了在创建器中导入的模型的数据库层次结构。
图三.一种典型的creator中输入模型的数据层级
- 模型简化
场景仿真系统需要实时绘制模型。理想情况下,交互式演练需要保持每秒至少20帧的帧速率,以保持平稳的运动。如果模型的数据太大,则会降低帧速率。因此,模型数据应控制在一定范围内。3dsmax的本质是3D建模和动画应用程序。它构建的模型基于视觉效果,但是模型的数据通常非常大。因此,简化是必要的。简化总结了两个方面:3dsmax中的简化和创建者中的简化。
2.1. 3dsmax中的简化方法
1)忽略看不见的细节。例如,如果不需要表示内部则用实体代替管。
2)忽略会影响整体视觉效果的细节。机械系统中有许多斜边。这些细节并不重要,如果在3dsmax中(尤其是圆角)对这些细节进行建模,则模型的面数将急剧增加。因此,这些细节经常被忽略。
3)使用纹理表示一些细节。许多机械系统都具有诸如铆钉或加劲肋之类的特征,这些特征需要大量的面才能进行建模。取而代之的方法称为烘焙(bake),这意味着通过凹凸贴图渲染表示那些细节的模型,获取位图,然后将位图应用于模型表面。图4示出了火箭整流罩,其表面细节由碰撞纹理表示。
4)复杂的模型被简单的模型取代。在火箭场景系统中,圆柱通常被三棱柱或四边形代替。
5)在准确性的前提下减少模型的细分数量。段之间的平衡数量和视觉效果至关重要。当模型的分段增加时,模型将变得更平滑,但是模型的数据也更大。
6)编辑模型的子对象,并删除几乎不影响场景效果的顶点[10]。
2.2. 创建者中的简化方法
1)实例技术。实例就像一个模型的多个阴影一样。屏幕上显示了几个相同的模型,但在内存中仅加载了一个模型。实例技术的事实是以计算速度为代价来减少数据规模。
2)质地简单。在视觉效果的前提下,用小尺寸的纹理图片代替大的。例如,使用16 times; 16像素图像替换128 times; 128像素图像[11] 。
3)详细程度(LOD)技术。LOD是具有不同多边形数量的同一对象或地形区域的版本[12] 。当视点移近模型时,将替换更详细的版本。仅当视点在运行时最接近模型时,才显示具有最高多边形数量的版本(称为最高LOD)。当视点远离模型时,不需要看到太多细节,因此切换了较低的LOD 。
在上一节中,介绍了9种简化技巧。但是,这些技能不必在一种模型中使用。根据模型的结构,大约1-3先令适用。图5示出了火箭的设备。图5(a)是简化前的模型,图5(b)是简化后的模型。该模型应用了2种技能,这些技能忽略了一些细节并减少了3dsmax中的细分。简化效果见表1。
表格1.三角数目和文件大小的比较
简化前
简化后
三角数目 |
文件大小 |
|
简化前 |
8 076 |
1 剩余内容已隐藏,支付完成后下载完整资料 资料编号:[238261],资料为PDF文档或Word文档,PDF文档可免费转换为Word |
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。