仿真引擎的关键技术范例6篇

仿真引擎的关键技术

仿真引擎的关键技术范文1

关键词:高架库虚拟仿真;Vega;引擎技术;类

中图分类号:TP311文献标识码:B

文章编号:1004-373X(2010)02-185-03

Application of Engine Technology in Overhead Warehouse Virtual Simulation System

GUO Feng,LIU Chenyu,SHI Yumin

(Navy Aeronautical Engineering Institue,Qingdao,266041,China)

Abstract:The overhead warehouse virtual simulation system is developed in C++ environment using Vega′s C++ function library,but in the process of developing the codes of conventional Windows applications and Vega applications are mixed,which is not conducive to compile and maintaining.Because the main task of the core system applications is realized with Vega applications,the core system task can be separated from the development work,and its process programe is developed solely,and then,to design a framework of system running,that is the engine,it can call the core of the system task process programe when necessary.After completion of design of the engine,realization of the core system task has become the central work of system development,and interference with complex code of Windows applications is avoided.The application of engine technology to improve the efficiency and maintainability of system development in the development of the overhead warehouse virtual simulation system.

Keywords:overhead warehouse virtual simulation;Vega;engine technology;class

0 引 言

高架库是一种适合大规模储存货物的高效自动仓库,由高层货架、货箱、巷道堆垛起重机(即有轨堆垛机)、出入库输送机系统、自动化控制系统、计算机仓库管理系统及辅助设备组成,对集装单元货物实现了自动化保管和计算机管理。但是高架库造价昂贵,所用的自动化设备费用很高,为了减少因为训练学习所带来的损耗,有必要开发一套高架库虚拟仿真系统,即利用虚拟现实技术[1]和视景仿真技术[2]实现仓库的业务流程、设备工作过程、信息管理等的模拟仿真效果。

虚拟仿真系统其实是一种特殊的程序类型,仍然只是一个以某种程序语言编写的程序,所以可以像其他任何Windows程序那样开发该类系统。该系统采用的是Windows环境下的C++编程语言[3],因此需要一个能够使用Win32 API创建Windows应用程序的编译器,即Visual C++ [4-6]。仿真软件采用Vega[7],它使用一套特有的C++函数库驱动虚拟场景或者三维模型进行模拟仿真[8,9]。

在高架库的虚拟仿真系统中,必须执行各种不同的任务,如设定所取货物位置、取货柜、送货柜、记录所做操作等,这是系统的特有任务。在开发过程中,系统特有任务的代码与常规的Windows应用程序的繁杂代码混在一起,使程序代码的编写和维护变得很困难,因此有必要将系统特有任务与Windows应用程序的开发工作分离开来;而分离的最好措施就是创建一个引擎,它允许隐藏针对Windows应用程序而与系统任务无关的代码,即创建了引擎后只需要专注于系统各任务的实现,这才是整个系统最重要的工作。

1 引擎的设计

引擎的设计思想是一次性开发某些核心系统任务程序,然后将这些任务程序调入引擎中,只有在必要时才再次处理它们。具体来说,设计一个系统引擎,首先,要分析该系统可分解为哪些事件;然后,再为各事件创建相应的事件处理函数;其次,创建一个引擎类并把这些事件处理函数设置为引擎类的成员函数,也就是系统的任务接口;最后是设计引擎的执行程序,使系统运行时按需调用引擎类的成员函数。

引擎程序设计完毕后,剩下的工作就是编写引擎类的事件处理函数,这样就把与系统特有任务无关的Windows程序代码分离出来,从而将程序开发工作的重心集中在系统特有任务的开发上。

1.1 事件分析

该系统中的事件包括Windows事件和系统特有事件。Windows事件主要是程序初始化事件,系统特有事件要根据系统的特有任务来确定。

特有任务实际上就是虚拟场景中三维模型的仿真运动。该系统中的模型包括运动模型和静止模型两种。运动模型主要包括观察者(用于在虚拟场景中漫游)、堆垛机(用于取送货)、输送机(用于传送货箱)。静止模型主要包括地面、仓库、货架、控制台等。该系统需要完成的特有任务有:控制观察者漫游;观察者和其他模型需要进行碰撞检测;控制台的控制屏幕需要进行货位坐标设置,并将其发送给堆垛机;取货箱与送货箱;录制系统运行过程并能够回放。所以,漫游、设置货位坐标、碰撞、取货箱、送货箱、录制、回放等都是系统的特有事件。

1.2 事件处理函数设计

在程序运行过程中发生一个事件时,就会调用相应的事件处理程序,即事件处理函数。该系统主要事件的事件处理函数设计如下:

(1) 程序初始化事件函数为SystemInitialize(),用来创建一个引擎类对象,并将其指定给一个全局变量,这样就可以在外部通过访问器(Accessor)方法访问该引擎;

(2) Vega程序的初始化函数为VegaInitialize(),用来加载三维场景、初始化Vega窗口、配置Vega程序;

(3) 漫游事件函数为Wander(),用来控制观察者在虚拟场景中的坐标位置,使其进行自动漫游或者手动漫游;

(4) 设置货位坐标事件函数为SetPositionData(),用来设置需要取或送的货箱的货位坐标;

(5) 碰撞事件函数为Collision(),用来对观察者与虚拟场景中的其他对象进行碰撞检测;

(6) 取货箱事件函数为GetBox(),用来根据要取的货箱的货位坐标去取货箱;

(7) 送货箱事件函数为SendBox(),用来根据要送的货箱的货位坐标去送货箱;

(8) 录制事件函数为Record(),用来把虚拟场景中的操作情况和设备的工作过程录制并保存下来;

(9) 回放事件函数为Replay(),用来重播录制好的虚拟场景的片断。

1.3 引擎类设计

高架库引擎类设计的关键就是按照面向对象(OOP)的设计原则,把上述事件处理函数都放在引擎类中,具体设计如下:

class SystemEngine

{

protected:

//成员变量:存储窗口大小、窗口类名称、观察者和货箱的坐标等

public:

//构造函数/析构函数

SystemEngine();

virtual _SystemEngine();

//常规方法

Initialize();

HandleEvent();

//访问器方法

//事件函数

SystemInitialize();

VegaInitialize();

Wander();

};

其中:

(1) SystemEngine()是构造函数,用来初始化引擎成员变量;析构函数保持为空,以备将来需要时使用。

(2) Initialize()方法用来处理通常在标准Windows函数WinMain()中执行的任务,即创建主窗口类、注册窗口类、设置窗口大小和位置、创建窗口、显示和更新窗口。另外,Initialize()方法还有两个非常重要的任务,即为Vega程序处理函数vgLoop()的执行创建一个独立的线程以及把Vega窗口嵌入到Windows窗口中。

(3) HandleEvent()方法用来处理引擎内的标准Windows事件,即将Windows消息传递给引擎成员函数,如程序初始化、漫游、取货、送货、碰撞等事件函数,由它们来响应对应的Windows消息。

与Initialize()方法把WinMain()函数中的程序代码隔离一样,HandleEvent()方法也把通常在标准Windows函数WndProc()中执行的代码隔离,其目的是更好地隐藏常规Windows代码。

(4) 访问器方法用于访问成员变量。

(5) 事件函数,即该系统的事件处理函数,它包括Windows事件和系统特有事件的事件处理函数。

1.4 引擎程序设计

该系统引擎程序主要包括WinMain(),vgLoop(),WndProc()三个函数,设计如下:

(1) 函数WinMain()是Windows程序的入口函数,主要执行的任务包括:一是系统程序的初始化,由引擎类的事件函数SystemInitialize()完成;二是Windows窗口和Vega线程的创建、Vega窗口嵌入Windows窗口,由引擎类的常规方法Initialize()完成。

(2) 函数vgLoop()是在函数WinMain()中创建的Vega线程中执行,主要执行的任务包括:一是Vega窗口的创建和Vega程序的初始化,由引擎类的事件函数VegaInitialize()完成;二是系统特有事件的处理,由引擎类的事件函数VegaInitialize()、Wander()等来完成。另外,因为系统特有事件都是实时事件,所以在vgLoop()函数中需要创建一个虚拟场景的渲染主循环,在该循环内由Vega函数完成虚拟场景的实时渲染和更新。

(3) 函数WndProc()是与用户交互的一个接口,它使用户能够在Vega窗口中通过调用引擎类的常规方法HandleEvent()来处理Windows消息。

2 结 语

引擎技术可以把系统的开发重心转换为任务接口函数的编写,使系统的开发效率和可维护性都大大提高。同时,它对其他虚拟仿真系统或者各种二维和三维游戏的开发具有很大的借鉴意义和实用价值[10]。

但是,该系统的引擎不能直接应用到其他系统的开发,主要原因是通用性不足,建议把核心Windows事件从引擎类中分离出来即因为核心Windows事件虽然与引擎联系紧密,但二者实际上是独立的――虽然这样做会破坏OOP原则,但就结构而言,把引擎单独放在自己的类中是更好的选择。

参考文献

[1]曾芬芳.虚拟现实技术[M].上海:上海交通大学出版社,2005.

[2]王冬海.三维视景仿真技术在地铁列车运行控制系统仿真中的应用[D].北京:北京交通大学,2004.

[3]揣锦华.C++程序设计语言[M].西安:西安电子科技大学出版社,2006.

[4]怀红旗,王爱民.基于MFC和Vega 的导航仿真系统[J].现代电子技术,2009,32(2):167-170.

[5]侯俊杰.深入浅出MFC[M].武汉:华中科技大学出版社,2006.

[6]黄维通.边学边用Visual C++编程[M].北京:清华大学出版社,2006.

[7]王乘.Vega实时三维视景仿真技术[M].武汉:华中科技大学出版社,2005.

[8]谭淑婷,沈晓峰.基于Vega的机载SAR场景仿真[J].现代电子技术,2009,32(10):58-60.

仿真引擎的关键技术范文2

关键词:UDK;虚拟仿真系统;矿山

中图分类号:TP391 文献标识码:A

文章编号:1005-5312(2012)17-0276-02

近年来,国内虚拟矿山建设取得一系列的成果,但是大多数是基于Unity3d,Virtools,或是其他的一些开源虚拟平台,其中共同的弱点是缺乏沉浸式的真实感,这些平台中的灯光,材质,粒子系统等模块在还原真实感的表现力还存在些许不尽人意的地方,为了更好体现虚拟矿山真实的场景语义,本系统在对唐公塔煤矿的主要建筑物三维重建和虚拟漫游实现的过程中,应用了强大的基于Unreal3游戏引擎的UDK开发工具包。本项目现在应用于鄂尔多斯市唐公塔煤矿,UDK矿山虚拟仿真系统系统实现了将煤矿经营、生产、安全、管理决策等信息的有机集成,在全3D的立体可视境下进行矿山企业的各种管控活动,帮助企业建立起真正意义的绿色矿山、效益矿山和安全矿山。本文将重点探讨场景创建,交互漫游,生产仿真,等可视化部分。

可视化部分主要包括主体建筑和周边场景,其中主体建筑由主副两个厂区、地上和地下两大部分组成,周边场景则包括,储煤仓,办公楼、机械设备、地下巷道、树木、停车场、警卫室等等,一应俱全。矿山虚拟仿真系统系统就是将地面与井下的各类设备、设施、巷道、井筒、硐室进行三维立体构建,创建出全真实的虚拟矿山环境,使用者可点击鼠标,操作键盘,轻松地在整个矿山内进行自由的漫游、浏览,该功能模块是可视化矿山管理的基础模块,并可用于员工培训。生产仿真的功能,模拟了矿山企业井下生产、地面生产的主要工艺过程,使得新员工在下井前就可以在电脑面前进行真实的培训,可以有效的降低企业培训成本,提高员工作业素质。

Unreal3引擎是基于DirectX9.0、DirectX10.0、OpenGL2.0等新一代图形接口推出的游戏开发引擎,支持64位HDR高精度动态渲染、多种类光照和高级动态阴影特效,可以在低多边形数量(通常在5000~15000多边形)的模型上,实现数百万个多边形模型才有的高渲染精度,这样就可以用最低的计算资源做到极高画质渲染,符合虚拟场景的真实感要求。此外,Unreal3引擎之中还集成了PhysX物理引擎、SpeedTree植被引擎、EAX5.0音效引擎、AI引擎等,并且包括场景编辑器、动画编辑器、粒子编辑器等多种所见即所得的编辑工具,结合支持面向对象技术的UnrealScript语言,可以提供多种互动体验。

本系统采用、3DSMAX、Maya、ZBrush、Photoshop、BodyPainte等工具构建三维场景,利用UDK实现场景漫游。具体工作步骤包括三维建模及贴图、UDK虚拟场景制作、实时布料动画、自动漫游制作、交互漫游实现等。

场景创建本系统主要采用3DSMAX和工具进行场景建模工作。为了让3DSMAX单位与引擎单位比例一致,在UDK中,6英尺的人物高度为96单位,从而可以得出UDK中1单位约等于2厘米,以此作为尺寸依据,参照CAD图纸,最终制作的矿山的全部场景。这里采用了3DSMAX的多边形建模技术,整个场景三角形面数约为七百万个。其中的人物模型及贴图制作如雕塑,岩石,等,在建模时主要采用Maya、Photoshop和ZBrush工具,其中Maya工具用于根据数码照片创建模型,Photoshop工具用于制作模型贴图及法线贴图,ZBrush工具用来增加模型的细节效果和映射法线。模型及贴图制作流程包括制作三维模型、展开模型UV、绘制模型贴图、制作法线贴图等几个步骤。利用UDK制作虚拟场景本系统利用UDK的场景编辑器及PhysX物理引擎完成场景及特效制作。

利用UDK的内容浏览器组件可以导入矿山数字资源,通过场景编辑器,依照景物在矿山中的实际摆放位置设计虚拟场景;添加平行光、太阳光、镜头光晕、大气等效果。为了加强场景漫游的真实感,,还利用UDK强大的仿真系统制作出燃烧的火焰,飘荡的云彩,潺潺流水,飞翔鸟儿,飘动的红旗效果。自动漫游功能实现自动漫游通过UDK的Matinee编辑器实现。通过添加摄像机控制类,实现摄像机的运行;通过AmbientSoundSimple类,为场景添加背景音乐。

交互漫游中需要解决的问题有碰撞检测、事件触发、用户UI、界面HUD的显示等。

碰撞检测。如果场景结构复杂,物体较多,可以通过UDK构建静态物体包围盒来简化物体之间的碰撞检测。具体方法为,在UDK的静态物体编辑器的菜单中,通过Collision菜单设置不同级别的碰撞检测,对于复杂场景,在利用3DSMAX等建模工具导出为UDK支持格式时,应拆分为不同物体导出,而后在场景编辑器中重新组合。UDK支持多个级别的碰撞检测。

事件触发。UDK中的事件触发组件包括自动触发、交互触发等多种类型,可根据不同情况设置不同的触发类型,从而带给用户良好的交互体验。例如,在场景的入口和出口处应用自动触发器,可以实现多个虚拟场景的切换;对需要解说的部分应用自动触发器,当用户走近该物体时,可以自动触发对文物的解说,类似现实场景的红外感应;对需要用户进一部了解的文物应用交互触发器,可以利用UI界面显示出矿山设备介绍,场景描述等信息。在UDK中,事件触发范围为圆柱体区域,可以通过设置圆柱体的高度和半径来修改事件触发范围。

UI的编辑利用了UDK的外挂Scalform编辑器实现系统菜单功能,通过Flash设计好带有Alpha通道的图形代码的用户界面,并将之导入UDK,而后在Kimset编辑器中的GFX模块,来实现与Flash脚本的关联,相比传统的UI编辑器能够是用户界面更加美观且富于变化。HUD是平视显示器(HeadUpDisplay)的简称,是目前普遍运用在航空器上的飞行辅助仪器。平视的意思是指飞行员不需要低头,就能够看到他需要的重要资讯。在虚拟矿山系统中借鉴了这个概念,把制作单位等信息以类似HUD的方式显示在交互漫游画面上。当然,要获得这些信息可以有别的方式,菜单有着专门的界面,可以容纳更大的信息量,但却不能和漫游画面同时出现。调出菜单意味着中断漫游流程,HUD则在提供必要信息的同时完全避免了这个问题。

使用HUD需要利用Unreal3引擎提供的支持面向对象编程技术的UnrealScript语言,类似C语言风格。通过建立VRMuseumInfo、VRPawn、VRPlayerCon troller、VRHud等类,可以实现界面HUD的绘制,在添加镜头光晕、大气雾化效果等后,最终实现的虚拟矿山的交互漫游。

应用Unreal3引擎的UDK工具,来开放矿山虚拟仿真系统系统,国内在相关领域的应用尚属首次,相对于国内同类虚拟矿山系统,大大提高了产品沉浸式的真实感;在碰撞检测、交互语义、实时动画、实时阴影、大气雾化效果等方面,达到了次世代游戏般的震撼的视觉感受,探索了一条将世界一流游戏引擎应用于虚拟矿山的新思路,具有较强的应用和推广价值。

参考文献:

[1]潘志庚等.分布式虚拟环境综述[J].软件学报,2000,11(4):461-467.

[2]刘箴.河姆渡遗址博物馆虚拟展示系统的研究[J].系统仿真学报,2009,21(7):1945-1949.

仿真引擎的关键技术范文3

关键词:Unity 虚拟现实 仿真操作 切换台 交互

中图分类号:TP391.9 文献标识码:A 文章编号:1007-9416(2015)07-0000-00

1 视频切换台仿真操作系统概述

视频切换台仿真操作系统是在虚拟现实的基础上,使用unity引擎开发的虚拟仿真操作系统。它将真实世界中视频切换台的多视频监视、视频选择和视频切换等功能通过三维建模、交互开发等数字化手段进行虚拟再现,供用户进行仿真操作。借助该系统,用户可以通过场景中的虚拟摄像机,及时、没有限制地观察三维空间内的事物[1]。该系统可以脱离视频切换台这一真实硬件设备而进行仿真操作,是电视节目现场制作环节与虚拟现实技术相结合进一步深入开发的产物。

Unity是由Unity Technologies公司开发的一款实时渲染游戏引擎,其本质上就是一些游戏开发的核心代码以及主体框架[2],并且这些代码可以独立出来用在不同的项目之中[3],视频切换台仿真操作系统就是基于这个引擎进行开发的。

2 视频切换台仿真操作系统的需求分析

视频切换台仿真操作系统是用于辅助学生实践教学、技能培训学员和现场切换岗位从业人员脱离真实设备进行实践操作为目的所开发的虚拟仿真系统。它以视频切换台的硬件实物为蓝本,通过虚拟现实技术,借助Unity开发引擎再现其使用环境与操作流程,通过交互设计实现虚拟操作。

2.1监视器窗口的分布

视频切换台的主要功能是在多路输入视频中选择需要输出的某一路视频与正在输出的视频进行交换。这样就需要在仿真系统的窗口中同时显示多个虚拟摄像机拍摄的画面。我们以三路视频输入为例进行窗口的排布时,需要将三路输入视频监视窗口、输出视频窗口和操作界面窗口,同时分布在仿真系统的界面中。

2.2 视频选取与切换功能

视频切换台仿真操作系统在仿真操作上包括视频的选取和视频的切换两个部分。这两部分的功能均可以使用界面按钮和键盘快捷键的交互方式来完成。当用户使用鼠标按下界面中某一路视频的选择按钮时,该路视频将被选中;当用户按下切换按钮时,选中的视频将和输出视频进行交换。如图1所示。

3 视频切换台仿真操作系统的功能实现

3.1视频监视窗口的分布

视频切换台的作用是将多个输入视频信号进行选择和切换,需要在仿真界面中显示输入的视频画面,这里模拟3个视频输入的情况。故仿真界面中需要同时显示5个虚拟摄像机的窗口,其中3个是输入视频的监视窗口,1个是输出视频的监视窗口,1个是视频切换台主要操作界面窗口。它们使用Unity中虚拟摄像机的视窗大小和深度来实现。这5个窗口的设置完成后的显示效果如图2所示。

3.2 输入视频的选择

输入视频的选择是视频切换前的准备工作,它所选中的视频将和正在输出的视频进行交换而变为输出视频。在功能实现上,当用户按下B总线中某一路输入视频选择按键后,使用一个未处于激活状态的虚拟摄像机(Camera A)跳转到拍摄该路视频的摄像机(Camera B)处,并使其(Camera A)位置、角度、视场角、清除标记等属性的值与后者(Camera B)保持一致。其核心程序如图3所示。

3.3视频的切换

视频的切换分为直接切换和过渡切换。直接切换时直接按下A总线中的输入视频选择按钮,则在输出窗口中直接显示该路画面,使用的方法与在B总线上选择输入视频相同,只不过是负责输出的虚拟摄像机跳转到选中视频的虚拟摄像机处。

过渡切换是指在视频切换过程中会添加某种过渡效果,这需要负责输出的虚拟摄像机逐渐向选中视频的虚拟摄像机过渡,需要使用位移和角度的逐渐变化来实现。其核心代码如图4所示。

4 结语

在应用领域中,虚拟现实技术使众多传统行业和产业发生了革命性的改变[4]。视频切换台仿真操作系统就是其中之一,它基于Unity平台开发,将电视节目现场制作环节中的核心设备操作方法与虚拟现实技术相结合,让用户的操作不受时间和场地的限制,对快速掌握视频切换台的使用方法和降低设备投入与维护成本等方面起到了积极的促进作用。

参考文献:

[1] 李伟.虚拟现实技术在道路交通领域中的应用探讨[J].交通科技与经济,2004,24:4-5.

[2] Gregory J, Lander J, Whiting M. Game engine architecture AK Peters, 2009.

[3] Lewis M, Jacobson J. Game Engines. Communications of the ACM, 2002, 45(1):27.

[4] Peter Rander. Virtualized Reality: Constructing Time-Varying Virtual Worlds from. USA: AcadeAnc Press Inc, 2001, 67-71.

收稿日期:2015-07-08

仿真引擎的关键技术范文4

关键字:建模资源;建模资源库;智能搜索

A Study on Operation Modeling Resource Repository System

WU Ke-jia1, ZHANG Hong-jun1, ZHANG Yi-jun2, HUANG Liang1

(1.PLA University of Science and Technology, Nanjing 210007, China; 2.Xi'an Communication College, Xi'an 710106, China)

Abstract: This text analysis the characteristics of Operation Modeling Resource Repository System, determine the structure and function of the WEB-based distributed Operation Modeling Resource Repository System, selected the XML describing resource metadata information, and proposed ontology-based intelligent search engine.

Key words: modeling resource; modeling resource repository; intelligent search

军事作战训练系统仿真领域,随着仿真技术的不断发展,仿真系统的规模越来越大,涉及到的领域和所使用的模型、算法和数据等建模资源也越来越多。如果在开发每个仿真系统时,都要重新开发所有所需的建模资源,不仅浪费大量的人力、时间和金钱,而且不能保证所开发的系统具有可信性和与其他系统的互操作性。因此,需要采用一种高效的建模资源管理方法来管理庞大复杂的建模与仿真资源库,这样才能充分利用已有的建模资源,简化建模与仿真过程,提高建模资源和系统可重用性,推动我军作战仿真系统朝着一体化、标准化、科学化方向发展。

为了充分利用已有的建模资源,提高建模与仿真资源和系统的可重用性,本文研究一个基于Web服务的分布式作战行动建模资源库系统,它将各个单位已有的仿真与建模资源、仿真系统等封装成Web服务,用户通过查找调用相应的Web服务即可使用其他用户提供的资源或仿真系统。

1 作战行动建模资源库的特点

作战行动是作战单元在给定的战场环境下的不可再分或不必要再分的基本战斗行为,是部队作战过程中抽象出来最基本、最底层的要素。作战行动建模,是对作战行动过程的一种抽象和类比表示,是作战模拟的核心和基础。

作战行动建模资源是与作战行动建模相关工作中能够被重复利用并能促进建模与仿真工作发展的所有数据资源。从它的定义,可以分析其具有以下特点:

1) 内容的专业性

作战行动是部队遂行作战任务而采取的行动,而军兵种的不同,以及作战任务的特殊性,导致了作战行动建模资源具有专业性的特点。作战行动可以由作战单元、动作来描述:作战行动=参训实体+动作+被动实体。依据这一形式化描述,就可以将作战行动建模。如图1所示的“空中截击”类图。

2) 分布的广域性

作战行动建模资源库是所有与作战行动建模有关的数据资源,它由全军部队、科研院所、演习基地等机构的作战行动建模资源构成,这些资源又以文本文件、网页、数据库等格式分布在各自所属的网络和网站中,它们具有分布的广域性。

3) 内容的异构性

作战行动建模资源是所有与作战行动建模相关资源,包括模型,仿真系统、数据库、想定,条令条例、理论成果和网站网页等类型(图2)。这些资源中除了具有规则结构的数据之外,还有图像等多媒体信息以及网页、文本文件等。这些资源在硬件设备、运行平台、实现语言等方面存在异构问题。

2 作战行动建模资源库系统需求分析

2.1 作战行动建模资源库功能分析

作战行动建模资源以网页、文本文件、多媒体文件等形式分布于各个机构单位的网站之中,对于资源库系统来说,最主要的功能是要为用户提供智能搜索引擎以检索分布于网络中的所有作战行动建模资源相关的信息,并建立资源快照和索引库。

此外,系统的功能还应包括资源管理、用户管理和系统维护。资源管理包括:资源的添加、修改和更新等;用户管理提供用户注册、登录和权限管理等功能;以及为系统管理员提供系统维护的功能。作战行动建模资源库系统功能用例图描述如图3所示。

访问作战行动建模资源库的操作流程如图4。

系统的用户根据用户名和口令从WEB登录系统,进入作战行动建模资源库系统主界面,根据被赋予的权限,可以进行搜索查询、资源管理、用户管理和系统维护等功能。

2.2 作战行动建模资源库结构分析

作战行动建模资源分散在各个部门和研究机构的中,对于用户来说,如何从其中快速、准确地寻找到关心的资源至关重要。所以对资源信息的搜索查询是关键的一步,它的时序图如图5所示:用户通过浏览器登录进入系统后,进行资源信息搜索查询,在搜索查询界面中输入查询条件,系统将符合查询要求的资源所有信息,包括资源的创建者,所属部门等相关信息返回并在浏览器中显示给用户。

3 作战行动建模资源库系统设计与实现

3.1 系统体系结构设计

作战行动建模资源库系统体系结构如图6所示,它是一种面向服务的层次化体系结构。

资源层包含了系统调度使用的各类作战行动建模资源、资源的元数据库和本体库;通讯层的通讯机制建立在Web Services技术基础之上,主要通过网络和HTTP协议来进行SOAP消息的传递;服务层提供资源管理服务和搜索引擎等,应用层为用户提供浏览器登录的门户网站、仿真应用和仿真工具等。

在3.1节的功能需求分析中提到,搜索引擎作为分布式作战行动建模资源库系统的重要功能,用户通过它从网络中检索出作战行动相关资源信息。本文设计了基于本体的智能搜索引擎(图7),它不仅能为用户快速检索到所需作战行动建模资源的信息,还能搜索到与该资源相关的其他资源的信息,并将结果一起返回给用户参考。

系统开发采用Web Service技术,将用户管理、资源管理和搜索引擎等核心模块封装成Web服务。用户通过www浏览器调用相关Web服务即在网页上搜索查询或是进行资源管理。

3.2 系统关键模块实现

3.2.1 基于XML的资源元数据描述

作战行动建模资源库包含了众多不同类型的资源,由于它们存在的异构性问题,为了便于对资源进行操作,比如组织管理、搜索查询、共享交换等,建立一个元数据库,用来存储有关资源的信息,包括资源属性信息、资源的关联信息等等。元数据的描述规定这些资源信息的格式与内容,图8以模型的部分元数据描述为例给出一个基于XML的资源元数据描述模板。

3.2.2 搜索引擎

本体通过对概念的严格定义和概念之间的关系来确定概念精确含义,表示共同认可的、可共享的知识。作战行动建模资源库的本体构建是从作战行动建模领域中抽取知识,形成描述作战行动建模资源的语义概念、实例和它们之间的关系。构建基于本体的智能搜索引擎的第一步是要在仿真建模专家和作战指挥人员的参与帮助下,建立作战行动建模资源领域的本体,并采用Protégé对本体进行OWL编码构建本体库。图9用Protégé构建的“飞机”本体的部分OWL代码。构建好本体库后,利用Racer推理机进行解析推理,对用户的查询语句进行概念提取,然后根据Racer的推理规则结合相关本体,完成复杂的推理任务,最后输出精确的检索语句。

作战行动建模资源库中的资源既有传统的数据库,还有大量的文本文件和网络中的网站网页信息。本文的搜索引擎使用基于SQL Server的数据库检索、基于Lucene全文检索引擎和Google提供的Web检索服务Google Search API等三个检索接口,对它们进行Web服务封装,并集成起来。以Lucene全文检索引擎接口的Web服务封装为例说明搜索模块的实现。Lucene是一个开源的全文检索引擎工具包,对其进行Web封装的部分代码如图10。

4 结束语

本文分析了作战行动建模资源库的特点,确定了基于WEB的分布式作战行动建模资源库系统的体系结构和功能,选取了XML描述资源元数据信息,并提出了基于本体的智能搜索引擎。

作战行动建模资源库系统对于充实和完善我军现有的建模资源体系,提高建模资源和资源库系统可重用性,推动我军作战建模资源和资源库系统朝着一体化、标准化、科学化方向发展有着重要作用。

参考文献:

[1] DMSO.Department of Defense Modeling and Simulation(M&S)Master Plan(DoD5000.59-9P,October 1995)[EB/OL].dmso.mil.

[2] 张宏军,郝文宁,陈刚.面向对象的仿真数据库系统设计[J].军事仿真,2003(1).

[3] 李伯虎,柴旭东.一种基于云计算理念的网络化建模与仿真平台――“云仿真平台”[J].系统仿真学报,2009(9).

仿真引擎的关键技术范文5

本教学研究项目是通过搭建B/S结构模型平台,在研究如何经济、高效地制作三维村镇模型的方法与步骤方面取得了初步成果,一定程度上提升了浙江省村镇规划信息化水平。

1.1本教学研究项目依托浙江省典型村镇三维仿真规划信息化平台模型,实现美丽乡村仿真场景漫游及规划信息化管理。着重研究在教学研究项目过程中采用的各种纹理建模方面的优化方案,包括纹理建模过程和烘焙过程的优化,以及开发软件平台自身提供的一些优化方案和优化技术。

1.2教学研究项目通过本地或者远程管理界面,对三维村镇规划

信息化平台场景中的个体信息进行交互,做到规划信息数据实时更新。

2.教学研究项目平台的开发流程

2.1三维场景模型的构建

浙江省美丽乡村三维虚拟现实教学研究项目组织与实施及开发流程的研究。教学研究项目首先是对单个美丽乡村模型场景的创建,通过B/S浏览方式进行整合。(1)教学研究项目的需求分析及相关数据收集与整理。通过课程组成员调查走访,合作单位直接提供等方式获取一手资料,再结合卫星地图,综合创建地形地貌。大量的建设贴图通过单反相机进行实地拍摄。(2)CAD总平面图的处理。通过测绘部门或者乡村相关职能部门获取的乡村CAD总图信息量大,对模型创建来说需要精简,然后导入3dsMAX软件进行场景模型的创建。(3)优化创建的模型,通过多种技术手段,精简三维模型面数等信息,确保在平台运行时的流畅。(4)村镇场景模型的烘焙。在目前虚拟现实场景中,通常都是由建筑模型在贴图、灯光等一系列步骤后进行烘焙(在Unity最新的5.0系统中,可实现实时光影,不一定需要烘焙步骤)输出到相关平台,这样能获得的视觉效果更佳。(5)在3DSMAX环境中直接导出并合并场景至相关虚拟仿真平台,可分为两种方式进行,部分静态模型的导出与全部静态模型导出,根据不同需求选择进行。

2.2系统功能的实现

系统功能的设计,包括虚拟现实引擎和相关技术的选择以及在应用中如何提高信息管理水平的研究。(1)创建相机及相机动画,在无人交互操作的时候,可以通过动态相机对美丽乡村进行飞行鸟瞰等预设。(2)虚拟现实场景碰撞属性的设置,默认可以直接把场景中的所有物体设置为碰撞体,减少工作量,但在实践中发现,这样会在一定程度上造成系统运算量大,执行效率较低,影响最终的运行速度。所以一般都是人为设置一个较简单的物体,设置碰撞后,进行隐藏操作。(3)创建特效与周围环境。教学研究项目可根据需求,设置不同季节及不同气候条件下的模拟环境,对表现水景效果、蝴蝶飞舞等特效的制作,动态效果通过3dsMAX进行动作设定,导入到虚拟现实引擎进行后期处理。(4)村镇地图的导航制作。导航图的制作关键是要在3dsMAX平台中进行坐标的定位,确定坐标参数后,在虚拟现实平台中进行相关的参数设定。(5)美丽乡村数据库的创建。平台可以支持的数据库丰富,包括ACCESS、Oracle、SQLServer、MySQL等,虚拟对象与数据库的关联操作和数据库查询功能的实现是平台实现交互的坚实基础。(6)交互功能的实现。平台支持的交互功能众多,可能鼠标事件、距离、键盘等触发调用相应的响应事件,大量的交互功能还涉及到数据库的数据读写,这在本教学研究项目中是一个非常重要的环节。(7)教学研究项目。教学研究项目平台支持生成EXE可执行文件脱离平台环境单独运行,也可以到互联网络中进行网页浏览交互,本教学研究项目最终是通过生成单个的网络版本,通过WEB树形目录,把浙江省的各个村镇的三维虚拟仿真系统合成到大平台中。今后的研究中考虑使用跨平台支持效果更好的Uni-ty3D引擎。

2.3平台特点与特色

本平台采用Photoshop,AutoCAD,3DMAX等图形图像软件结合虚拟现实平成,脚本引擎功能强大,压缩率高,真实感强,沉浸感好,可嵌入音频、flash、视频、图片、网页。(1)平台仿真度高,区别于能流畅实现村镇的三维漫游功能,部分村镇信息查询等功能,满足决策者对美丽乡村规划功能的要求。(2)可以实时把画面用“虚拟相机”进行拍摄出图,能直观、精确、更大范围地展现规划设计方案,有效地提高规划审批决策科学性。(3)该系统作为公共服务平台,可通过二次开发,开放接口,扩展到经济、卫生、交通、应急、消防等领域。

3.教学研究项目平台的经济与社会效益

浙江省村镇共有1500多个,教学研究项目建成后,为浙江省美丽乡村规划信息化水平提升做出明显成效,也为浙江省乡村建筑数字化程度的提升做出重大贡献。研究成果专注于虚拟现实与三维可视化技术在浙江省美丽乡村规划领域中研发和推广,目标是国内领先的村镇虚拟现实技术解决方案。教学研究项目能满足不同数字规划管理领域,不同层次决策者对数字仿真的需求。

4.平台的保障力量

4.1人员保障

教学研究项目分别由高校、企业与政府职能机构等三部分技术力量组成:教学研究项目主持单位高职院校在教学研究项目实施过程中,采集村镇基础数据,利用研究小组学生在暑期社会实践中调查数据、采集可视化资料及到乡村管理部门查询资料,也为教学研究项目的完成打下坚实基础。本科院校为本教学研究项目提供理论支撑,在校的虚拟现实方面的硕士研究生,也参与到教学研究项目中,为教学研究项目提供了技术保障。

4.2资料保障

规划设计院作为合作企业单位,负责提供浙江省典型美丽乡村规划图纸。企业内部有较多的规划专家,可以对教学研究项目进行深度研究。提供一手资料,研究中的浙江省溪口美丽乡村规划方案就由他们提供,为该教学研究项目的顺利进行起到了重要的保障作用。

4.3政策保障

浙江省住房和城乡建设厅科技委村镇建设专业委员会,对教学研究项目的推广提供政策上的扶持,所在的村镇建设专业委员会在教学研究项目研究中还负责对村镇管理者规划信息化方面进行指导。每年都会对浙江省村镇优秀规划方案进行汇编、获奖教学研究项目的收集整理,具有非常丰富的参考资源,对建设系统相关职能部门具有良好的沟通协调能力,便于教学研究项目具体实施过路中的运行与推广。

5.结束语

仿真引擎的关键技术范文6

位于美国旧金山的搜索引擎公司Powerset挑战Google的核心技术就是“自然语言处理技术”,理论上这种技术可拥有理解人类所使用的自然语言含义的能力,而这也正是Powerset与Google本质上的区别。Google使用的是PageRank技术,即通过统计学方法计算用户所搜索的关键词在网页中出现的频率,利用关键词进行搜索的结果导致用户往往不能真正得到想要的结果。而利用“自然语言处理技术”,用户可以直接输入想问的问题进行搜索,比如搜索“谁收购了IBM”,Google给出的结果是被IBM收购的那些公司信息和新闻,甚者还包括了很多毫无关系的分别匹配“IBM”和“收购”两个关键词的结果,因为Google不能分析出主语和宾语之间的关系;而Powerset的优势就在于此,它给出的结果是那些收购IBM业务的公司信息和新闻,比如联想和AT&T与IBM合作的信息。尽管Google一直以来都在苦苦研究自然语言处理技术,但至今为止,我们还没看到这种技术被应用于Google的搜索引擎里。这一次,Powerset走在了Google前面。

其实早在上世纪90年代,就已经出现了利用自然语言进行搜索的网站,其中最著名的当属美国的AskJeeves.省略。比较近期的还有Hakia.省略推出了一个名为“孙悟空搜索”的提问式搜索引擎,但当时的技术仍比较粗浅,还不能给用户提供很好的体验,所以最终也就没有了声音。

而此次Powerset受到了如此多的关注,并被喻为“比Google还好用的搜索引擎”,大部分原因是因为它已经正式获得了施乐公司旗下著名的帕洛阿尔托研究中心(PARC,Palo Alto Research Center)所研发的自然语言处理技术的独家使用权,此技术号称是当今最领先的自然语言处理系统。PARC以一些突破性的发明,如电脑鼠标、个人电脑绘图界面等而闻名。同时,PARC的顶级自然语言专家Ronald Kaplan现在是Powerset的首席技术执行官。