Multigen Creator简介

更新时间:2023-08-30 03:53:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Multigen Creator简介

转载:Multigen Creator简介

介绍

Multigen Creator是一个软件包,专门创建用于视景仿真的实时三维模型。Creator使得输入、结构化、

修改、创建原型和优化模型数据库更容易。不仅可用于大型的视景仿真,也可用于娱乐游戏环境的创建。

本章节概括了在创建高效的实时视景仿真模型后面的一些关键的概念。

1.实时创建有何不同?

2.为何视景仿真如此有趣?

3.在视景仿真中,会用到哪些元素?

实时应用程序

图形生成器(IG)

视景数据

建模包

视觉真实度

4.CAD模型能用在视景仿真中吗?

5.我能用逼真的影像数据吗?

6.好的练习。

Multigen Creator简介

--------------------------------------------------------------------------------

实时创建有何不同

令人奇怪的是,编制动态的视景仿真或游戏应用与创建高效的数据,使其在一个实时环境中发挥最大的功

效相比较,和图形的相关性并不多多少。一个视景仿真数据库指的是一个数据文件,它描述一个三维的视

觉场景,同时,包括在视景系统中搜索、显示数据所需的支持数据。

让我们快速看一看实时应用和数据创建的目的:

重点是在动态的观众和及时反应的仿真之间的沉浸式交互; 真实世界的尺寸、规则和限制可能是仿真目的中非常重要的;

每一帧必须完整地绘制并以30-60帧/秒的速率显示; 高效的多边形模型仅仅包括达到所要求效果所需的多边形数;

数据结构是分级优化的,以利于程序遍历和IG的状态控制。

Multigen Creator简介

数据中也包括模型的控制、真实世界的限制

以及DIS(分布式交互仿真)优化。

Multigen Creator提供了一个集成的工具套餐,专门设计以帮助创建和管理高效的实时数据库。

--------------------------------------------------------------------------------

为何实时仿真如此有趣?

在商业和军事领域,沉浸式的视景仿真相较于物理性的验证新技术、战略或验证可行性,是一种安全且大

大降低费用的替代方法。

在游戏的世界中也是一样,即使是最稀奇古怪的世界也会获益于真实的运动和模型的动作。并且,在沉浸

式的环境中实时地看见自己的化身身受酷刑当然要比自己亲身去感受舒服得多。

在当今世界的许多领域中,都可以发现视景仿真的作用所在。

Multigen Creator简介

为什么用实时视景仿真的一些较为广范的说法为: 穿越和预览;

对复杂事物直观的、沉浸式可视化;

商业和军事的规划和演习;

训练系统;

事故可视化/重现;

交互式/沉浸式游戏。

视景仿真节省了金钱、时间、资源和生命。

--------------------------------------------------------------------------------

在视景仿真中,会用到哪些元素?

一、实时应用程序

此程序控制图形场景、用户如何在场景中移动,以及多种其他在场景中的动态事件。汽车驾驶和飞行动态

模型、碰撞检测以及如爆炸等的特殊效果都包含在实时应用程序中。

二、图形生成器(IG)

图形生成器,或IG,是绘制场景的图形硬件。可根据仿真要

Multigen Creator简介

求的不同而有不同的配置。典型的IG是SGI的

图形系统Indigo Impacts、Reality Enginers或Infinite Realitys。IG也可以是一般的PC或游戏控制台

图形生成器的性能多以多边形数/帧,而不是多边形数/秒来衡量。根据IG硬件平台中的图形、CPU、带宽

性能等,IG的性能会有很大的差别。术语“Target IG(目标IG)”用来指仿真运行的特定的IG硬件平台

三、视景数据库

视景数据库是描述用什么、何时以及如何渲染场景的数据。Creator用公开的OpenFlight格式来存储这些

信息。Creator和OpenFlight是双精度的,使得描述复杂物体和非常大面积的地形数据库时能按要求尽可

能地精确。

四、建模包

Multigen Creator简介

以前,在实时仿真应用中,简单的视景数据库是用基于文本的编辑器、CAD系统或特定数码的几何形状来

创建的。如今,Multigen Creator能够被用来创建视景数据库中每个单独的元素。

五、视觉真实度

在视景真实度后面的策略是非常有趣的,常常是视景仿真中被忽略的元素。

高效的模型是指以符合观众希望看到的或体验的基础来设计的,而不是图像的精确度。

真实的感觉来源于符合最终产品或仿真的期望。如果用户发现对既定内容的期望确实有效,所有其他的细

节就可以在不影响仿真的前提下减少或去除。为了更进一步地解释这种概念,想象一个典型的飞机,由三

个人来看。一个人是刚入行的机械师,学习如何进行飞行前的机械检查;另一个低级的飞行塔控制员,来

分辩和领航,使飞机到特定的出口;第三个是一个警察新手,学习机场的交通控制并注意是否有飞机飞过

Multigen Creator简介

每个人对飞机的表达有着完全不同的期望,应如何建模来使之真实?他们需要什么样的视觉线索呢?任何

仿真都必须将飞机在特定环境中的作用考虑进来。

如果一个驾驶模拟器关注的是控制面板、道路、信号标以及一些导向点,那么,就集中你的精力在这些

方面。建筑物和地形的加入则可以视硬件的性能增加细节,但并不是必需的,因其有可能影响仿真的目的

如果关注的是一个交互式的飞行模拟器,高速飞行。观众的期望是动态的交互性和真实的飞机响应。场

景真实度是第二位的,仅是在视觉定向或敌方辨认时有用。其他的一些用简单的纹理和层次细节(LOD)

就很容易满足。

在你的设计中,不要忽视感知真实性的心理因素:我动作后有什么发生?击中目标?撞到桥上了?将这

Multigen Creator简介

些因素包含到数据库中。

--------------------------------------------------------------------------------

CAD模型能用在视景仿真中吗?

是的,但有困难。视景仿真建模和CAD数据生成有很大的不同。因此,即使是最好的CAD模型也需要大量的

整理,使之能用于实时应用。

CAD工具创建精确的工程数据模型,包含大量用于工程和绘图的有用信息:

CAD的目的:模型精确性和机械整体系;

CAD数据:包含工程标准、精确材质赋予以及大量的属性数据;

图形目的:用于工程规划和静态图形生成的、基于复杂规则的数据

仅仅在需要时用CAD数据。因为这种数据的目的并不是为了自然的图形,实际上,整个CAD数据库对视景仿

真应用提供了很少甚至没有价值。你将会:

Multigen Creator简介

大量手工对冗余多边形数据的清除,以满足实时建模的限制;

近乎随机放置的多边形数据必须人工组织和结构化,使其成为有用的多边形组;

所有的视景仿真的控制因素必须加入到数据库中。

在很多情况下,从起始创建一个实时模型比转化一个CAD数据更容易!

一、我能用逼真的影像数据吗?

毫无疑问,影像师(在这里,指为出效果图而作的三维建模)创建了极好的静态图形。这些图形用各种不

同的工具和过程来生成,但都不是实时的。有些需几小时甚至几天来生成!

多数情况下,影像师创建的有用数据包括多边形、颜色、材质和纹理贴图数据,有一些还包括动画顺序。

用这些数据,你会知道:

数据的重点:被动式的娱乐和艺术的优美;

高度细节的图形模型包括成千上万的多边形,并且,是在一个“平”的数据库中(有些工具提供结构化

的功能)

Multigen Creator简介

绘制的图形包含了样条曲面的光线跟踪,有着复杂的材质、表面和光照效果。

仅在需要时用这种数据,且仅仅是从哪些能提供多边形简化和数据结构化的建模包中。因为这些数据太真

实了,你将会:

大量手工对冗余多边形数据的清除,以满足实时建模的限制;

平的多边形数据库结构必须手工组织及结构化,成为有用的多边形组;

所有的视景仿真的控制元素必须加入到数据库中。

如同CAD模型,从起始创建一个实时模型比转化一个影像数据更容易。

二、好的练习

一个好的视景数据库设计,其秘密在于大量的练习,并在其中发现规则。当你浏览这本书的其他部分时,

在特定的上下文中,你将发现许多技巧和策略。

在学习Multigen Creator时,记录和应用每一个技巧,你会发现模型的建立和管理会越来越容易

Multigen Creator是一个高度专业化的工具,帮助建模者创建高效的三维模型和地形用于交互式实时应用。交互式应

Multigen Creator简介

用据其性质有多种,范围从用于军事的个人飞行和驾驶训练模拟到建筑项目的视景演示。

不仅仅是一个基本的建模工具,Creator也是一个设计工具,用来创建低多边形数的模型来简化和减少实时应用的程序要求。Creator提供了一个用户界面用于建造模型、地形和场景,并包括符合OpenFlight(.flt)文件格式标准的层次视景数据库。OpenFlight文件在输入到运行软件后,如Multigen-Paradigm公司的Vega,就成为了实时应用的一部分。

在开始用Creator建模以前,理解在本章中描述的一些在实时模型建立后面的概念是非常有用的,包括三维图形、实时和动画的区别、用Multigen-Paradigm的工具创建实时仿真的过程。本书中的其他章节提供了对建模技巧和工具的解释来帮助你在Creator中建模并达到你实时应用所要求的结果。

一、实时应用与动画的区别

实时和动画应用都是模拟真实和想象的世界,用高度细节模型,产生平滑连续的运动,并以一定的FPS(祯/秒)进行

Multigen Creator简介

绘制来达到无缝的演示。动画主要用于电影、印刷图画以及预先设计好的演示。实时应用主要用于仿真,需要对用户输入做出反应,如:飞行训练、影视游戏和交互式建筑演示。

主要区别:

实时应用:每帧都是实时绘制,这意味着当用户改变方向以及从何处穿越场景、如何观看时,帧是连续地重新计算并绘制。

动画:每帧是预先绘制好的,即动画设计师设置帧绘制顺序并选择要观看的场景。每一帧甚至要化上数小时来进行绘制,而在实时应用中,每帧通常要在1/30秒内绘制完成。

实时应用是高度交互的,用户控制场景中物体的运动;动画没有用户交互,用户只是被动的观察者。

实时应用的重点是交互性和意图实现。实时应用中的模型与动画模型相比较,通常有较少的细节,以提高绘制速度并减少“滞后时间”(指用户输入和应用程序做出相应反应之间的时间)。为了达到真实的实时仿真效果,“滞后时间”要尽可能短到用户无法发觉。

Multigen Creator简介

动画的重点是非交互的美学和视觉效果。在动画中的模型常有很多细节,因为每帧都是预先绘制的,绘制速度的效果就能被预先决定。

实时应用可以用多种帧速率来显示,从16-60FPS,取决于应用的目的和屏幕场景的复杂性;动画常以24帧每秒的速度来显示预先绘制好的影像序列,是既定的。

二、什么是三维图形

计算机生成的二维图形仅在X/Y轴有水平和垂直的坐标,而三维图形除了有X/Y坐标外,还有Z轴的维度来定义深度信息。当光照和纹理应用于三维物体时,这个物体显得比二维的物体要真实得多。而且,你能在三维空间中穿过或环绕三维模型和图形,就如同在虚拟的世界中游览一样。

你创建的三维模型网格化(Tessellate)为简单(Simple)的凸(Convex)多边形。网格化(Tessellation)是一个将物体的数学表达转化为多个多边形的过程。简单多边形是指其每边(Edge)仅仅交汇于多边形的顶点(Vertices),而且交点是在边的顶点(vertex)上,如一个圆。凸多边形指没

Multigen Creator简介

有缺口并且任何多边形内部两点的连线也存在于多边形的内部。

多边形的简单、凸的属性使得它能被OpenGL所接受(OpenGL是一个图形硬件的软件界面,用来显示多边形)。其它多边形的属性,不管其形状如何,对绘制而言过于复杂,OpenGL可能不会产生你所希望的结果。满足OpenGL的最基本的多边形类型是三角形。

OpenGL将非规则形状的物体分解为三角形和其它规则的形状,使计算机容易管理。

三角形的使用,还有以下原因:

三角形的三个顶点能表达为三维空间的X/Y/Z坐标;

三角形的顶点总是在一个平面上,使得当物体在三维空间旋转时,OpenGL能够正确绘制。当面的顶点不共面时,旋转时就会复杂(Complex)和凹(Concave),使得OpenGL不能正确绘制。

三、基本的实时应用过程

Multigen Creator简介

Multigen-Paradigm的软件产品Creator和Vega,是用于三维实时应用的基本工具。上图显示了在SGI图形系统中一个基本的实时应用的开发过程:

用Creator的地形(Terrain)工具,你能将源数据,如卫星照片和数字高程数据,转成Creator的文件格式并用这些文件在Creator中创建地表。源数据也包括特征数据,你也能转化并引入到Creator中,用来在地形上加入文化特征,如道路和建筑物等。

用Creator的建模(Modeling)工具,你能手工创建三维模型。并且,可对地形、特征、模型加入如颜色、材质、纹理等以使其更真实。所有的这些元素:地形、特征、模型和各种属性,组成了Creator视景数据库,且OpenGL API是支持的。视景数据库存成Multigen-Paradigm的OpenFlight(.flt)文件格式,它已成为大多数实时系统标准的文件格式。

你能用Vega开发环境来创建实时应用。Vega的Lynx功

Multigen Creator简介

能提供了一个图形用户界面,用来创建用于实时应用的ADF(应用定义文件)文件。ADF描述了用于实时应用的OpenFlight文件、运动体及路径、如爆炸等的特殊效果、环境效果及其他功能。在ADF之外,你也可以自己写程序来满足你仿真的需求。

你最好在VEGA的开发环境和功能库中写自己的代码,以产生独立的实时应用。Vega开发环境包括API、自定义的代码和运行引擎,如用于SGI IRIX的、基于IRIS Performer的Per-Fly。

在图形生成器(IG,绘制场景的图形硬件)中,IRIS Performer装载器将Creator中创建的OpenFlight文件引入到VEGA中。IG可以是SGI的图形工作站,也可以是PC。ADF文件和其他用户程序也将载入到VEGA中。

在实时应用编译后,就可以运行了。实时应用程序和计算机平台常常被一起称为运行系统(Runtime System)。

四、What Happens at Runtime实时应用中运行系统是如何工作的?

Multigen Creator简介

如果你理解运行系统是如何处理数据的,你就可以预先计划如何设计你的数据库。你所创建的数据库需要依从于运行系统的运行限制。因为许多运行系统的表现会影响你的实时应用的质量,所以你可以针对数据库做一些事情,来优化性能。仔细地计划数据库的设计是得到成功结果的关键。这些运行的因素影响你的数据库规划:

运行系统对数据库每一帧的绘制分为三个阶段,Application(应用程序),Cull(截取),Draw(绘制)。运行系统在Application阶段将数据库载入后,必须在另两个阶段绘制可见场景。在Cull阶段,运行系统遍历整个数据库结构来发现可见数据。在Draw阶段,运行系统绘制可见数据。为了优化性能,你必须设计数据库结构使得Cull和Draw的阶段的处理时间能够平衡。

数据库场景中的物体用Viewing Volume(视锥)投射到屏幕上。在运行系统中,你可以定义视锥,采用透视或正投影投射。当你用正投影投射时,在视锥中的物体具有深度,据屏幕近的物体显得更大。当用正投影投射时,数据库场景显得平坦,物体的尺寸并不取决于它的位置。

多边形在绘制到屏幕之前会转化为屏幕像素。重叠的多边形

Multigen Creator简介

会的像素会绘制多次,这增加了绘制时间和深度复杂性。深度复杂性指在每一帧中每一个像素绘制的次数。你能用一些方法减少深度复杂性来满足运行系统的像素填充率(Pixel Fill Rate),像素填充率是你的运行系统每秒能够绘制的像素数。

数据库结构中每一次的状态改变都会使绘制时间增加。当一个有一套属性或状态(如颜色、纹理)的多边形,切换到数据库结构中有着不同状态的多边形时,即发生了状态改变。你能重新安排数据库结构中的节点来减少状态改变。

五、渲染(Rendering)过程

三维渲染软件,如运行在IRIS操作系统上的IRIS Performer(现在为OpenGL Performer),为实时应用提供了渲染结构。此结构包括多线程(多进程)、用于场景管理的平行渲染流水线以及输出到图形流水线的图像生成器。

渲染过程分为三个阶段:Application(应用程序)、 Cull(截取)、Draw(绘制)。Application阶段载入OpenFlight数据以及控制设备的输入,如游戏杆或控制按钮,并集成为场景图形(Scene Graph,管理数据的数据结构)。将场景图

Multigen Creator简介

形送到软件图形流水线,进入Cull和Draw阶段。

六、理解Application,Cull,Draw

在实时应用中,运行系统对每一帧的处理分为三个阶段:

Application(应用程序)、 Cull(截取)、Draw(绘制)。

1) Application(应用程序)

计算控制设备(如键盘、游戏杆、VR头盔等)的输入;

载入数据;

计算视点和模型的位置。

2)Cull(截取)

搜索数据结构,将可能在当前屏幕显示的部分加入显示列表;

将不显示的部分从内存中清除。

本文来源:https://www.bwwdw.com/article/qkvi.html

Top