论文部分内容阅读
[摘要] 随着计算机技术的迅猛发展,可视化仿真技术也得到了广泛的应用。在船舶操纵模拟器系统中,可视化仿真技术都发挥着重要的作用。船舶模型在船舶操纵模拟器中有着不可或缺的地位,而船舶模型结构复杂,构建起来比较困难。本文通过剖析船舶模型的整体特点,阐述了如何利用MultiGen Creator对船舶建模的主要方法和技巧。重点介绍了船舶整体框架的构建及层次结构的优化等技术。
[关键字] 船舶操纵模拟器 船舶三维模型
1、引言
在大型计算机仿真系统中,三维模型的优劣直接决定了系统的可视化真实感,而以高质量的三维模型必然对应较高的复杂度,也就是说三维模型的视觉效果和渲染效率是不可兼得的。像Maya、3Dmax等传统建模软件追求的是模型的视觉效果,而忽略了渲染效率,因而适合制作复杂精细的模型。用Multigen Creator软件所独有的OpenFlight数据结构,同时采取节点式分层结构建模,可以快捷方便地对场景中任何元素进行直接的编辑、修改和控制,这极大地满足了实时渲染的要求。本文针对Multigen Creator软件特点来介绍在船舶建模中的技巧和方法。
2、船舶三维模型构建
2.1 船舶三维模型构建步骤
船舶模型属于复杂模型,自身结构复杂而且有很多曲面,在Creator中,绘制曲面是比较复杂的,一般把曲面分解成微小的多边形处理,这样使得船舶模型的构建较繁琐。
复杂物体的建模,方法是很重要的,主要通过以下几个步骤来完成:
1)数据采集,图像收集。主要获取所建物体的具体尺寸、纹理、材质等。
2)模型的建立。在建模时要把握一定的顺序和技巧,一般首先建立船体,框架搭建好再建立驾驶台和甲板,最后添加细部结构。把握由框架到细节的顺利。
3)模型的优化,对模型在不降低视觉效果的前提下尽肯能的精简模型。
4)处理图像,贴图,添加纹理。
2.2 船体的建模
船体形状是不规则的,无法使用Creator规则的建模工具进行创建。在Creator中有一个重要的建模工具:Loft放样工具,这个工具可以把一组连续的多边形界面转变成一个三维模型。一般步骤:
1)通过改变网格在Z轴的高度,创建几个平面。
2)按住shift键,选择这一组连续的多边形。
3)选择几何工具箱里面的Loft工具,生成一个三维模型。
4)将选取模式调整为Vertex,用移动工具调整个别点,使模型更逼真。
在绘制界面多边形的时候,一定要仔细分析船体的细致结构,多边形要放置到合适的位置。对于较圆滑的面,要选用边数更多的多边形。例如船首和船尾,为使其曲面更圆滑,我们取了14个点。
对于船舶这种关于Y轴对称的模型,放样时要保证每一个横截面关于Y轴对称,使之成为一个关于Y 轴对称的图形,这样在后面的建模过程中方便使用镜面工具,从而大大简化工作难度。
2.3 其他部分模型的建立
其他的部分就相对容易建立了。在建模时要充分利用船舶的对称性,对于两侧对称出现的模型如铁架等,只需构建一个,然后把网格设置到YZ平面,运用镜面复制工具,这样就会复制出一个相对网格对称的模型,大大降低了操作的复杂度。
另外,像油管一类的模型,只是相同的模型并列排放。我们也只需构建一个,然后运用复制移动功能,调整新模型的位置,对于排放较密的,需要将网格调小再移动,使移动更为精确。
3、模型优化
要想使建立的模型的效果逼真,细节决定逼真度,后期的优化至关重要。后期的优化主要有以下几个部分:
3.1 数据库层次优化
在数据库层次优化时,系统是按照从上到下,从左到右(Top-to-Bottom, Left-to-Right)的优先级顺序依次遍历数据库来决定是否剔除还是绘制当前场景。有效的组织数据库节点层次,会使得绘制时实时系统能够快速地遍历数据库节点,进行节点截取计算.因此模型数据库中节点的层级结构组织方式应尽可能根据实时系统对数据的剔除和绘制要求进行优化,在Creator中可使用3种形式组织数据库节点结构层次。
1)线性结构:所有体节点都排列在一个组节点下,运行程序必须逐个计算每个节点是否需要显示出来,这样显然会影响系统的剔除速度。
2)逻辑结构:将构成场景的所有体节点按照某种逻辑规则进行分组,将它们分别放置到相应的逻辑组节点下。这种逻辑结构虽然比较便于编辑和整理节点,但在大型场景中,由于场景中的各类型模型对象的分布是随机和不可预料的,所以这种方式对系统的实时性能的影响较大。
3)空间结构:按照物理空间对节点进行分组.运行系统会调用各个组的外围约束体,判断该组何时需要显示。这样系统不需遍历场景中所有体节点,实时系统处理较快。
综合以上3种方式的优缺点,建议采用“空间+逻辑”的组织方式,即:整个虚拟场景的节点采用空间组织方式,对处于同一空间区域的对象采用逻辑组织方式,这两种组织方式在数据库层次结构中通过线性组织方式来实现。采取这种组织方式使得模型的层次非常简练。
3.2实例化技术
当三维复杂模型中具有多个几何形状相同但是位置不同的物体时,可以采用实例技术。实例化是对数据库中已存在的模型的引用。外观上的效果与复制相同,但实例并不是数据库中真实存在的几何体,而只是指向其父对象的指针,实例就像是一个模型的众多的影子,而实际物体只有一个。其他的通过平移、旋转、缩放之后得到。也就是说在内存中只装入一次,这一点类似于动态链接库文件。因此,可以对某一实例的几何特征、颜色、纹理等属性进行编辑。但这将改变所有实例的属性,这样可以节省大量的硬盘和内存空间。
3.3 外部引用技术
MultiGen Creator中的外部引用技术是一个指向引用模型的指针。它和实例化技术的区别在于它不能在当前模型数据库中对外部引用的模型进行编辑, 因为外部引用的模型对象在当前模型数据库中仅为只读属性。通过外部引用, 可以有效降低模型数据库的规模, 节省内存和磁盘空间, 方便建模操作, 提高系统资源的利用率。
3.4 纹理技术
MultiGen Creator以多边形作为三维模型的基本单位, 文件中多边形的数量越多, 文件就越大, 运算速度也越低。使用纹理代替多边形, 即用图像替代物体模型中的细节, 可大大减少多边形的数量, 降低场景的复杂性, 实现“ 真实性” 和“ 实时性” 的平衡。
另外,在船舶模型中,有很多地方可以使用相同纹理,例如驾驶台等,对于这种情况,我们完全可以只制作一个纹理,对多个面添加纹理。有效提高纹理的利用率。
3.5 分层技术
分层技術为同一个实物建立为限定条件, 使加入搜索节点列表中的节点大大减少,因为考虑了所有可能的路段, 最后获得的最短路径是正确的最短路径。
4、光照、材质、纹理贴图的使用
适当的光照及材质纹理的使用,会使船舶外部模型在仿真场景中更加形象逼真地显示,而且材质纹理的使用,不但不会增加模型的多边形数量,还能满足仿真时所要求的实时性以及逼真性。
在纹理使用中尤其需要指出的是,MultiGen Creator支持多种形式的通用标准图像格式,推荐使用*.RGB、*.RGBA、*.INT和*.JPG等格式,纹理大小应设置为2的n次幂,否则会扭曲或无法正常显示。其次要注意贴图的路径,最好采用相对路径,否则会导致纹理无法显示。可利用list texture工具来改变路径,从而使模型能够找到相应的贴图。Creator可支持3点、4点、表面映射、球形、柱形、几何、环境贴图等多种映射方式,本例中主要应用4点映射工具及子纹理映射,然后结合具体情况应用纹理修改工具对其进行微调。
还需要指出的是,对显示效果要求很高的仿真应用,可以在其它软件中建立复杂的模型,加入光照等特效后再渲染出效果图,用其作为仿真模型的贴图,可以取得很好的视觉效果。
5、结束语
本文通过分析桥梁三维建模的复杂性和研究意义,提出了采用Multigen Creator对桥梁的进行三维建模的一般方法和步骤,并阐述了模型对象实例化、数据库外部引用、LOD(层次细节)技术等关键技术,符合仿真所需要的实时性和逼真性。
参考文献:
[1]杨丽,李光耀,城市仿真建模工具—Creator软件教程。上海:同济大学出版社,2007:2-3.
[2]王乘、周均清、李利军编著,Creator可视化仿真建模技术。武汉:华中科技大学出版社,2005年3月第一版.
[关键字] 船舶操纵模拟器 船舶三维模型
1、引言
在大型计算机仿真系统中,三维模型的优劣直接决定了系统的可视化真实感,而以高质量的三维模型必然对应较高的复杂度,也就是说三维模型的视觉效果和渲染效率是不可兼得的。像Maya、3Dmax等传统建模软件追求的是模型的视觉效果,而忽略了渲染效率,因而适合制作复杂精细的模型。用Multigen Creator软件所独有的OpenFlight数据结构,同时采取节点式分层结构建模,可以快捷方便地对场景中任何元素进行直接的编辑、修改和控制,这极大地满足了实时渲染的要求。本文针对Multigen Creator软件特点来介绍在船舶建模中的技巧和方法。
2、船舶三维模型构建
2.1 船舶三维模型构建步骤
船舶模型属于复杂模型,自身结构复杂而且有很多曲面,在Creator中,绘制曲面是比较复杂的,一般把曲面分解成微小的多边形处理,这样使得船舶模型的构建较繁琐。
复杂物体的建模,方法是很重要的,主要通过以下几个步骤来完成:
1)数据采集,图像收集。主要获取所建物体的具体尺寸、纹理、材质等。
2)模型的建立。在建模时要把握一定的顺序和技巧,一般首先建立船体,框架搭建好再建立驾驶台和甲板,最后添加细部结构。把握由框架到细节的顺利。
3)模型的优化,对模型在不降低视觉效果的前提下尽肯能的精简模型。
4)处理图像,贴图,添加纹理。
2.2 船体的建模
船体形状是不规则的,无法使用Creator规则的建模工具进行创建。在Creator中有一个重要的建模工具:Loft放样工具,这个工具可以把一组连续的多边形界面转变成一个三维模型。一般步骤:
1)通过改变网格在Z轴的高度,创建几个平面。
2)按住shift键,选择这一组连续的多边形。
3)选择几何工具箱里面的Loft工具,生成一个三维模型。
4)将选取模式调整为Vertex,用移动工具调整个别点,使模型更逼真。
在绘制界面多边形的时候,一定要仔细分析船体的细致结构,多边形要放置到合适的位置。对于较圆滑的面,要选用边数更多的多边形。例如船首和船尾,为使其曲面更圆滑,我们取了14个点。
对于船舶这种关于Y轴对称的模型,放样时要保证每一个横截面关于Y轴对称,使之成为一个关于Y 轴对称的图形,这样在后面的建模过程中方便使用镜面工具,从而大大简化工作难度。
2.3 其他部分模型的建立
其他的部分就相对容易建立了。在建模时要充分利用船舶的对称性,对于两侧对称出现的模型如铁架等,只需构建一个,然后把网格设置到YZ平面,运用镜面复制工具,这样就会复制出一个相对网格对称的模型,大大降低了操作的复杂度。
另外,像油管一类的模型,只是相同的模型并列排放。我们也只需构建一个,然后运用复制移动功能,调整新模型的位置,对于排放较密的,需要将网格调小再移动,使移动更为精确。
3、模型优化
要想使建立的模型的效果逼真,细节决定逼真度,后期的优化至关重要。后期的优化主要有以下几个部分:
3.1 数据库层次优化
在数据库层次优化时,系统是按照从上到下,从左到右(Top-to-Bottom, Left-to-Right)的优先级顺序依次遍历数据库来决定是否剔除还是绘制当前场景。有效的组织数据库节点层次,会使得绘制时实时系统能够快速地遍历数据库节点,进行节点截取计算.因此模型数据库中节点的层级结构组织方式应尽可能根据实时系统对数据的剔除和绘制要求进行优化,在Creator中可使用3种形式组织数据库节点结构层次。
1)线性结构:所有体节点都排列在一个组节点下,运行程序必须逐个计算每个节点是否需要显示出来,这样显然会影响系统的剔除速度。
2)逻辑结构:将构成场景的所有体节点按照某种逻辑规则进行分组,将它们分别放置到相应的逻辑组节点下。这种逻辑结构虽然比较便于编辑和整理节点,但在大型场景中,由于场景中的各类型模型对象的分布是随机和不可预料的,所以这种方式对系统的实时性能的影响较大。
3)空间结构:按照物理空间对节点进行分组.运行系统会调用各个组的外围约束体,判断该组何时需要显示。这样系统不需遍历场景中所有体节点,实时系统处理较快。
综合以上3种方式的优缺点,建议采用“空间+逻辑”的组织方式,即:整个虚拟场景的节点采用空间组织方式,对处于同一空间区域的对象采用逻辑组织方式,这两种组织方式在数据库层次结构中通过线性组织方式来实现。采取这种组织方式使得模型的层次非常简练。
3.2实例化技术
当三维复杂模型中具有多个几何形状相同但是位置不同的物体时,可以采用实例技术。实例化是对数据库中已存在的模型的引用。外观上的效果与复制相同,但实例并不是数据库中真实存在的几何体,而只是指向其父对象的指针,实例就像是一个模型的众多的影子,而实际物体只有一个。其他的通过平移、旋转、缩放之后得到。也就是说在内存中只装入一次,这一点类似于动态链接库文件。因此,可以对某一实例的几何特征、颜色、纹理等属性进行编辑。但这将改变所有实例的属性,这样可以节省大量的硬盘和内存空间。
3.3 外部引用技术
MultiGen Creator中的外部引用技术是一个指向引用模型的指针。它和实例化技术的区别在于它不能在当前模型数据库中对外部引用的模型进行编辑, 因为外部引用的模型对象在当前模型数据库中仅为只读属性。通过外部引用, 可以有效降低模型数据库的规模, 节省内存和磁盘空间, 方便建模操作, 提高系统资源的利用率。
3.4 纹理技术
MultiGen Creator以多边形作为三维模型的基本单位, 文件中多边形的数量越多, 文件就越大, 运算速度也越低。使用纹理代替多边形, 即用图像替代物体模型中的细节, 可大大减少多边形的数量, 降低场景的复杂性, 实现“ 真实性” 和“ 实时性” 的平衡。
另外,在船舶模型中,有很多地方可以使用相同纹理,例如驾驶台等,对于这种情况,我们完全可以只制作一个纹理,对多个面添加纹理。有效提高纹理的利用率。
3.5 分层技术
分层技術为同一个实物建立为限定条件, 使加入搜索节点列表中的节点大大减少,因为考虑了所有可能的路段, 最后获得的最短路径是正确的最短路径。
4、光照、材质、纹理贴图的使用
适当的光照及材质纹理的使用,会使船舶外部模型在仿真场景中更加形象逼真地显示,而且材质纹理的使用,不但不会增加模型的多边形数量,还能满足仿真时所要求的实时性以及逼真性。
在纹理使用中尤其需要指出的是,MultiGen Creator支持多种形式的通用标准图像格式,推荐使用*.RGB、*.RGBA、*.INT和*.JPG等格式,纹理大小应设置为2的n次幂,否则会扭曲或无法正常显示。其次要注意贴图的路径,最好采用相对路径,否则会导致纹理无法显示。可利用list texture工具来改变路径,从而使模型能够找到相应的贴图。Creator可支持3点、4点、表面映射、球形、柱形、几何、环境贴图等多种映射方式,本例中主要应用4点映射工具及子纹理映射,然后结合具体情况应用纹理修改工具对其进行微调。
还需要指出的是,对显示效果要求很高的仿真应用,可以在其它软件中建立复杂的模型,加入光照等特效后再渲染出效果图,用其作为仿真模型的贴图,可以取得很好的视觉效果。
5、结束语
本文通过分析桥梁三维建模的复杂性和研究意义,提出了采用Multigen Creator对桥梁的进行三维建模的一般方法和步骤,并阐述了模型对象实例化、数据库外部引用、LOD(层次细节)技术等关键技术,符合仿真所需要的实时性和逼真性。
参考文献:
[1]杨丽,李光耀,城市仿真建模工具—Creator软件教程。上海:同济大学出版社,2007:2-3.
[2]王乘、周均清、李利军编著,Creator可视化仿真建模技术。武汉:华中科技大学出版社,2005年3月第一版.