VegaPrime中文教程.docx
- 文档编号:25512298
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:96
- 大小:2.04MB
VegaPrime中文教程.docx
《VegaPrime中文教程.docx》由会员分享,可在线阅读,更多相关《VegaPrime中文教程.docx(96页珍藏版)》请在冰豆网上搜索。
VegaPrime中文教程
VegaPrime培训教材
Version1.2forWindows®2000,Windows®XPProfessionalEdition,Solaris®8.0,andRedHat8.0Linux®
北京华力创通科技有限公司
仿真系统事业部
2003年12月
说明
本书主要介绍如何掌握VegaPrime的基本用法。
您可以根据书的内容在自己的工作地点学习使用VegaPrime。
本书将介绍VegaPrime实时应用、LynxPrime用户界面,和VegaPrime工具箱的基本用法。
您将学会如何创建一个能够移动的模块,小范围地形,特殊效果和爆炸的实时3D应用。
我们建议您按本书的章节顺序依次学习。
因为书中的章节是按创建和创建过程遇到的相应主题顺序依次排列。
因此本书也是一个使用方便,按主题顺序的参考书。
学习完成本书内容,您将能够完成以下操作:
⏹创建一个应用结构文件(ACF)文档,包括相关的静态和动态物体,多通道视角,动作执行规化和特殊效果。
⏹建立一个微软开发演示工作平台,用于编辑您的VegaPrime应用。
准备工作
⏹在您学习本书内容时,请先安装VegaPrime并按书内容操作软件。
⏹本书只包括为Window设定的文件路径。
如果您在Solaris或Linux中使用VegaPrime,缺省路径为/usr/local/MultiGen-Paradigm/
⏹完整的应用结构文件和代码位于C:
\ProgramFiles\MultiGen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\tornado\completed_ACF目录下,使得转入程序任何部分或检查运行结果都非常容易。
⏹用于参考的文件(PDF格式)在C:
\ProgramFiles\Multigen-Paradigm\docs\vegaprime\pdf目录下。
第一章开始
介绍
VegaPrime(以下简称VP)是一个实时三维驱动的工具包。
LP(以下简称LP)是用来定义VP中的类及其参数的人机交互界面,定义好的内容可以保存到一个文件中。
这部分内容描述了VP的结构和用户界面。
使用VP和LP
VP最好与LP一起使用。
尽管VP包含了创建一个应用所需的所有API,但LP简化了开发过程,而且LP允许开发者无需编写代码即可创建一个应用。
LP是一个编辑器,用于增加不同种类的模型,为模型定义参数。
这些参数都存贮于应用配置文件(ACF)中的一个模型结构内,例如观察者的位置,模型及它们在场景中的位置,在场景中的移动,光线,环境效果,及目标硬件平台。
ACF文件包含了VP在初始化和运行时所需的信息。
您可以在ActivePreview(动画预览)中查看你所定义的内容。
AP可以允许您使用交互式方法进行配置ACF,ActivePreview会根据变化信息持续修改ACF内容。
当出现变化,AP将用新的数据更新VP仿真窗口内容。
您同样可以用C++语言编写程序使场景更加生动。
您可以根据应用中的特殊场景修改模型的参数。
当一个模型建立完成后,您可以修改它位置。
VP应用同样可以将ACF加载到一个图像数据流中。
当您编辑完应用后,它就成为一个可运行的3D实时应用!
VP系统结构
如你需要了解更多LP内容及它如何与VP一起工作,请查询VegaPrime程序员指南。
VP应用的组成
应用程序
应用程序控制场景,模型在场景中的移动,和场景中其它大量的动态模型。
实时应用程序包括汽车驾驶,动态模型的飞行,碰撞检测,和特殊效果,如爆炸。
您在VP外的开发平台创建应用程序,并将文件以.ccp格式存档。
它就包含了C++可以调用的VP库的功能和分类。
在编辑完成后就形成了一个可执行的实时3D应用文件。
应用配置文件
应用配置文件包含了VP应用在初始化和运行时所需的一切信息。
通过编译不同的ACF文件,一个VP能够生成不同种类的应用。
ACF文件为扩展Mark-up语言(XML)格式。
您可以使用VP编辑器LP来开发一个ACF,然后您可以使用VPAPI动态地改变应用中模型运动。
对于实时应用来说,ACF不是必要的,但它可以将改动信息进行译码,记录在.cpp程序中,这样可以为您节省大量的时间。
模型包
以前,通常是通过计算机辅助设计系统或几何学来创建单个模型,但这些方法在实时应用很难进行编码。
现在,可以使用MulitGenCreator和ModelBuilder3D,以OpenFlight的格式来创建实时3D应用中所有独立的模型。
可以使用CreatorTerrainStudio(CTS),以MetaFlight格式来生成大面积地形文件。
并可以使用这两种格式在VP中增加模型文件。
启动LP
在本章开始前,请先安装好VP,并正确建立许可协议。
帮助文件夹安装在:
C:
\ProgramFiles\Multigen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\tornado\data目录下,它包含了本书所有练习的所需的源文件。
请参照VegaPrime启动指南,以获取安装和运行的有关信息。
您可以根据操作系统的类型来打开LP:
⏹如操作系统是Windows,请按开始-程序-MultiGen-Paradigm-VegaPrime顺序点击,然后从第二级目录中启动LP。
你也可以点击桌面上LP的快捷键启动程序,这个快捷键应在安装程序时创建完成。
⏹如操作系统是Solaris或是Linux,请打开命令窗口,在命令行中输入LP,启动该程序。
退出LP
如需退出LP,选择文件-退出,或同时按Ctrl和Q键。
您也可单击窗口上方的标准关闭键。
保存
我们建议您经常在LP操作过程中进行保存。
这样在出现突然停电或系统故障时,不会丢失数据。
LP在文件目录中提供了所有标准文件工具。
你必须学会使用这些工具。
Save保存这在这个文件,我们建议您在修改原文件前进行保存,快捷键:
Ctril+S。
SaveAs以其它文件进行存档。
自动给文件名附加.acf或.mft后缀。
LP的界面构成
LynXPrime用户界面包括四个部分:
实例树形显示区(InstanceTreeView),用户操作区(GUIView),应用程序区(APIView),和工具条(Toolbar)和目录区(Menus)。
所有这些区域将显示同一选定的对象的信息,但是这些信息是以不同格式进行安排的。
你可以在一个或多个工作区进行操作来定义ACF。
GUIView
用户操作区在用户界面中显示ACF模型及相关的参数,操作起来十分方便。
你可以从一个下拉菜单中选择参数,也可在空格处输入参数。
当您打开LynxPrime,第一个显示的用户操作窗口叫myKernel,这是VegaPrime中Kernal类型中的一个实例。
Kernel即是应用的起始点。
InstanceTreeView
实例树形显示区显示目前正在操作的ACF文件和文件中包含的所有模型。
实例树用一个等级结构显示了模型间的关系,及与它们的上级模型和下级模型的关系。
通过实例树你可以直观的了解到应用中的模型之间的联系。
如果您选定等级中一个模型,在所有的操作区中同时显示这个模型的有关信息。
如果一个模型在文件中的不同的地方被使用,在这个模型的文件名旁就标有蓝色的箭头。
向下的箭头
表示文件第一次被使用。
向上的箭头
表示这个模型的其它应用。
如上面图例所示,MyPipeline的子目录MyWindow调用MyChannel,这是MyChannel第一次被调用,所以在它旁边标有一个向下的箭头。
MyChannel后又被myObserver调用,所以这时在它旁边标有一个向上的箭头。
当您选定一个图标时,图标的属性和当前的参数就会显示在用户操作区和API区。
APIView
API区显示选定的模型的所有可能的变量。
在这里可以定义模型的值,就象在用户操作区一样。
但是在API中,你可以直接给变量赋值。
当您更改应用中的参数时,你可参考API区中要使用的变量的值。
Toolbar
LynXPrime工具条包括所有操作模型及属性的快捷按钮。
这些功能同样可以在LynXPrime的目录中找到。
NewFile
创建一个新的,含有默认类型值的ACF文件。
OpenFile
打开文件浏览器,你就可以选择一个ACF文件加载到LynXPrime。
所选定的ACF文件将替换目前正在显示的ACF文件。
如果目前显示文件已经更改过并且还没有存盘,LynXPrime将会在打开文件浏览器之前提醒您保存更改。
SaveFile
保存当前的ACF。
如果这个文件没有保存过,你可以在显示的对话框中输入文件名和保存目录。
CreateInstance
将显示一个对话框,其中包含可以增加的模型类型列表。
也可以根据名称或范围在对话框中显示或分类这些项目。
CutInstance
将当前选定的模型拷贝到剪切板,并从当前的ACF文件中移走。
CopyInstance
拷贝当前选定的模型到剪切板,但模型仍留在ACF文件中。
PasteInstance
将剪切板中所存的模型加到当前ACF文件中。
只有剪切板中含有模型才能执行此操作。
DeleteInstance
从当前的ACF中移走选定的模型。
将会出现一个对话框提示您进行删除或取消操作。
删除操作不会在剪切板中留下模型的拷贝。
Backward
显示前一步显示。
Forward
显示下一个。
只有操作过退后键才能操作这一步。
Views
在LynXPrime中四个不同的操作区之间转换:
⏹用户操作区在上面,同时API区在下面
⏹API区在上面,同时用户操作区在下面
⏹只显示用户操作区
⏹只显示API区
ActivePreview
当LynXPrime中的参数发生变化时,显示运行一个基本VegaPrime应用,这个应用接收LynXPrime的发送的参数。
您可以在您的ACF的三维场景显示中移动。
ACFInformation
弹出一个对话框,显示当前ACF文件的信息。
这个对话框同样可以用于执行其它ACF文件的操作,和生成一个在当前ACF文件中运行的应用。
LPDocumentation
发布在线帮助阅览器,可以访问到每一个API和构成API各种方法。
在线帮助提供VegaPrimeAPI的最新信息。
第二章创建你的场景
介绍
在您的应用中将要创建一个场景,包括一片郊区,一所农舍,一辆行驶的汽车,和一个谷仓。
在下一章中,您将在场景中增加龙卷风,它摧毁所经过的地区的所有东西。
在场景中增加一头奶牛,它被龙卷风从地面刮起卷到空中。
开始时,您将使用LynXPrime来创建模型。
这些文件是VegaPrime的一个类别(myObject)中的实例。
Prime连接
您将用农舍,汽车和谷仓的模型来实现Prime连接。
其中你可以在MultiGenCreator桌面指南中找到农舍的实例,稍做修改后即可完成它的连接。
注意!
当您学习书中所有操作时,请按书中所标明的文件名或物体名进行操作。
您随后运行的应用将按您存在ACF的文件的文件名进行调用。
目标
这部分的学习目标是使用LynXPrime的基本内容。
您将把OpenFlight文件作为物体添加到场景中,并且为它们定位。
一个物体对应着一个OpenFlight文件。
一个场景就是一个观察者可以浏览到的事件集合。
然后您可以在ActivePreview(动画预览)中查看场景并在其中移动,也可以交互式修改ACF。
在此过程中,您将学到一些基本VegaPrime概念,包括:
⏹在LynXPrime中创建和存贮一个ACF文件
⏹熟悉LynXPrime用户操作界面和其它界面
⏹在您的仿真中加入OpenFlight模型做为物体。
⏹在场景中添加新的物体。
⏹在API区更改模型的参数。
⏹使用动画预览工具预览和修改应用。
添加和浏览物体
您将把OpenFlight文件作为物体加入到场景中。
这些物体包括地形,农舍和汽车文件。
您还要给他们固定好位置和方向,然后在动ActivePreview中交互式的浏览这些物体。
添加地形
地形创建是应用的基础。
在LynXPrime中为场景类赋一个地形OpenFlight文件值。
您可以在ActivePreview实时应用中浏览场景,并在其中移动。
Step1在C盘中创建一个文件夹“VegaPrime_Desktop_Tutoria”,把所有完成的ACF文件存于这个目录中。
Step2单击开始>程序>MultiGen-Paradigm>VegaPrime>LynXPrime,打开LynXPrime.
Step3单击VegaPrime的菜单栏中的文件,选择另存于(Saveas),弹出对话框,将对话框中的目录改为C:
\VegaPrime_Desktop_Tutorial,将您的ACF文件重命名为Chapter2.acf。
Step4单击保存,将您的ACF文件存于C:
\VegaPrime_Desktop_Tutorial中,对话框关闭,LynXPrime窗口标题条显示新的ACF文件名。
Step5单击用户操作区顶部的实例键
,选择myObject。
您也可以在实例树中单击myScene,在它下面选定myObject。
myScene实例是myObject的上一级实例。
您可单击实例键,从它的选择列表中选择myObject。
注意在文件名区中有town.flt文件,它是在默认ACF模板中myScende实例的默认子物体,但是你必须用新的OpenFlight文件来替换它。
Step6点击Filename区旁的浏览键
,在C:
\ProgramFiles\Multigen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\tornado\data\land目录下选定Prime_Junction.flt文件。
当您在对话框中点击Open,Prime_Junction就将替换town.flt文件。
Step7在API区中在LynXPrime窗口下面,选择myObject的value,将其改为terrain,在用户操作区和实例树区中,myObject改为terrain。
Step8在实例树区,点击myScene,注意在所有的三个显示区内,都显示terrain是myScene实例的子物体
Step9保存。
预览应用
现在您可以在ActivePreview中预览您的场景。
利用ActivePreview你可以实时观测到开发出的应用。
ActivePreview运行时,任何ACF参数的变化也会立即显示出来。
Step1选择Tools下的ActivePreview,弹出命令提示窗口,然后ActivePreview打开,开始运行Chapter2.acf文件。
注意
如果ActivePreview充满了您的屏幕,您可以缩小它的尺寸。
自先,按Esc键关闭ActivePreview窗口,在实例树区内,点击myWindow实例打开myWindow用户操作区,这个实例控制ActivePreview窗口,例如,将窗口的长和宽的值改为5,12,形成一个较小窗口。
可以用鼠标和键盘来控制场景中的方向,如要在场景中向前进,按住鼠标左键。
如要向后退,按住鼠标右键。
如要停止(刹车),按下键盘中的X键。
将鼠标拉向你,可在场景中向上;将鼠标推离你,可在场景中向下。
鼠标固定在窗口的中央,可保持盘旋模式。
⏹在场景中向前进,按住鼠标左键。
⏹在场景中向后退,按住鼠标右键。
⏹如要停止(刹车),按下键盘中的X键。
⏹将鼠标拉向你,可在场景中向上;
⏹将鼠标推离你,可在场景中向下。
⏹鼠标固定在窗口的中央,可保持盘旋模式。
Step2查看这片区域,这个场景有大片贫脊的土地,但在高山的另一边有一个小湖!
Step3完成检查后,按Esc关闭ActivePreview。
加入一个经典农舍。
添加农舍
也许您已经在CreatorDesktopTutor中建立一个农舍。
为这个DesktopTutor,这个农舍已经进行了修改,并安装在VegaPrime目录中。
把农舍作为其它物体加入场景,然后修改它的位置。
Step1在实例树区,点击myScene,它的用户操作区即显示出来。
将农舍作为子物体加在这个用户操作区中的子区。
Step2在Children区点击创建实例键
,为新实例选择Object类型。
Step3在对话框中选择Object,点击OK。
Step4在子区点击前进键
进入myObject用户操作区。
Step5在API区,选择myObject的Value,将值改为farmhouse.
Step6点击在文件名区旁的浏览键
,在c:
\ProgramFiles\Multigen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\tornado\data\farmhouse目录下选择farmhouse.flt文件。
Step7在地形中确定农舍的位置,在Position区中输入X,Y,Z的值为(773.822,945.877,-1.000)
Step8在工具条中点击ActivePreview键
,在场景中确定农舍的位置(固定在湖边!
)。
用鼠标和键盘控制在场景中的位置。
Step9做完后关闭ActivePreview。
Step10保存你的工作。
改变位置
尽管上一步农舍被固定在湖边,但我们需要将农舍移到靠近公路和农场的中心区域。
这个操作十分简单。
Step1在farmhouse用户操作区,将农舍的坐标位置改为(1960,1000,0)。
Step2点击ActivePreview键,重新查看农舍的新位置。
农舍已经移到山的另一边,现在固定了它的位置。
增加汽车
在农场中添加一辆汽车非常容易,你可以将汽车固定在靠近农舍的位置,在后面,您将学习让汽车运动起来。
Step1进入myScene用户操作区。
Step2在Children区点击创建实例键
,选择物体类别为新实例。
Step3在创建实例对话框中选择Object,单击OK。
Step4在子区中myObject会突出显示,点击前进键
进行myObject用户操作区。
Step5在API区,选择myObject的Value,将值改为Hummer。
Step6在用户操作区中,点击文件名称区旁的浏览键
,在c:
\ProgramFiles\Multigen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\tornado\data\dirtyHumv目录下选择humv-dirty.flt文件。
Step7在位置区输入(1990,1000,0)
Step8在方向区内输入汽车的头朝向,斜度,转弯度分别为:
(140,0,0)车的位置就定为在农舍前的公路上。
Step9点击工具条动画预览键
,在场景中将汽车位置固定在农庄旁。
Step10关闭ActivePreview,保存。
添加谷仓
这里添加一个大谷仓来储存粮食。
Step1进入myScene用户操作区。
Step2在Children区点击创建实例键
,选择Object类别为新实例。
Step3在创建实例对话框中选择Object,单击OK。
Step4在子区中myObject会突出显示,点击前进键
进入myObject用户操作区。
Step5在API区,选择myObject的Value,将值改为grainStorage(注意大写字母S)。
Step6在用户操作区中,点击文件名称区旁的浏览键
,在c:
\ProgramFiles\Multigen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\tornado\data\grainstorage目录下选择grainStorage.flt文件。
Step7在位置区输入(2450,2465,0)头朝向,斜度,转弯度都为0。
Step8运行ActivePreview,谷仓的位置与农庄保持一定距离。
存盘。
小结
我们创建了一些模型,并把他们放入场景中。
当我们在场景中移动时,这些物体才像是在移动,但这并不是我们希望的最后结果。
下一章,我们将讨论观察者,物体的运行方式s,及通道。
第三章运动方式和观察者
介绍
现在,你已经可以在场景中移动了。
如果让场景中的物体也活动起来就好了。
运动模式仿真与定位方法不同,例如有飞行,行驶,行走或盘旋。
当你将一个运动模式与一个您希望它在场景中运动起来的物体连接起来时,你同样可以将观察点放在或靠近运动物体,这样你就可以感觉到你正用鼠标来控制它的运动。
本章,你将学到如何在不同位置上设置观察点,连接运动,定义通道,以实现在同一时间观察场景的不同点。
运动和观察
目的
这个指南将使您学会如何在LynXPrime中定义和定位观察点,以从不同的有利点观察场景。
你还将给汽车加上行驶和碰撞检测,为场景中的与汽车相联的土地加上碰撞检测。
最后你将设立不同的通道,这样您就能在ActivePreview中从不同的观测点观察场景中的物体。
目标
你将学到以下这些概念:
⏹定义观察点的位置和朝向
⏹使用transform来放置观察者
⏹用运动模块给物体加载运动
⏹为物体加载碰撞检测
⏹为ActivePreview设置场景的不同观察点。
设置观察者
一个观察者就是您仿真的观察点。
观察所有的物体都是从观察点发出的。
在VegaPrime中观察者的起始位置的默认值是地形的原点。
原点的通常位置是在西南角或地形的中点。
您可以在MultiGenCreator或ModelBuilder3D中的地形OpenFlight文件中找到原点位置。
Prime_Junction.flt地形的默认位置在西南角。
在VegaPrime平面地面的坐标系统中,用X,Y,Z来表示观察者的位置。
观察者的方向是用坐标系统中的朝向,斜度和转角度的HPR值来表示。
让我们来看一下坐标系统是什么样的:
观察者的位置是在三维空间中的XYZ坐标点。
●+X指向右
●-X指向左
●+Y指向前
●-Y指向后
●+Z指向上
●-Z指向下
观察者的方向是用坐标系统中的朝向,斜度和转角度的HPR值来表示。
朝向是指Z轴上的转向:
●+H指看向左旋转
●-H指看向右旋转
斜度指X轴的转向:
●+P指向上旋转
●-P指向下旋转
转角度指Y轴转向:
●+R指运动转向右边旋转
●-R指运动转向左边旋转
现在观察者的位置和方向已经定义好了,我们就要开始让它进行运动了!
创建Transforms
Transform是一个动态坐标系统。
您在场景中设置的位置是物体,特殊效果光线或其它transform的子系统。
也就是说,transform的值与父系统有关。
这部分将讨论如何将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VegaPrime 中文 教程