首页 VegaPrime中文教程

VegaPrime中文教程

举报
开通vip

VegaPrime中文教程Vega Prime培训教材 Vega Prime培训教材 Version 1.2 for Windows® 2000, Windows® XP Professional Edition, Solaris® 8.0, and Red Hat 8.0 Linux® 北京华力创通科技有限公司 仿真系统事业部 2003年12月 TOC \o "1-3" \h \z 说明 4 第一章 开始 6 介绍 6 使用VP和LP 6 VP应用的组成 7 启动LP 8 退出LP 8 保存 9 LP的界面构成 9 第二章 创建你的场景 ...

VegaPrime中文教程
Vega Prime 培训 焊锡培训资料ppt免费下载焊接培训教程 ppt 下载特设培训下载班长管理培训下载培训时间表下载 教材 Vega Prime培训教材 Version 1.2 for Windows® 2000, Windows® XP Professional Edition, Solaris® 8.0, and Red Hat 8.0 Linux® 北京华力创通科技有限公司 仿真系统事业部 2003年12月 TOC \o "1-3" \h \z 说明 4 第一章 开始 6 介绍 6 使用VP和LP 6 VP应用的组成 7 启动LP 8 退出LP 8 保存 9 LP的界面构成 9 第二章 创建你的场景 13 介绍 13 Prime连接 13 添加和浏览物体 14 小结 21 第三章 运动方式和观察者 22 介绍 22 运动和观察 22 设置观察者 22 创建Transforms 24 添加运动模式 26 添加碰撞检测 27 定义通道 30 修改视窗 36 小结 37 第四章 环境 38 介绍 38 环境设置 38 定义环境 38 添加光点 40 小结 42 第五章 特效 42 介绍 42 添加特效 42 制作碎片效果 43 制作龙卷风效果 43 为粮仓制作特效 53 小结 53 第六章 运行应用 53 介绍 53 编译和运行tornado应用程序 54 建立VC编译环境 54 小结 55 附录一 Vega Prime API 56 介绍 56 设置API 56 初始化 56 vpApp类 57 定义语句 58 配置 59 仿真循环 59 仿真更新 59 关闭 60 VP最小的应用 60 附录二 tornado应用程序 61 介绍 61 程序剥析 61 说明 本书主要介绍如何掌握Vega Prime的基本用法。您可以根据书的内容在自己的工作地点学习使用Vega Prime。本书将介绍Vega Prime实时应用、Lynx Prime用户界面,和Vega Prime工具箱的基本用法。您将学会如何创建一个能够移动的模块,小范围地形,特殊效果和爆炸的实时3D应用。 我们建议您按本书的章节顺序依次学习。因为书中的章节是按创建和创建过程遇到的相应主题顺序依次排列。因此本书也是一个使用方便,按主题顺序的参考书。 学习完成本书内容,您将能够完成以下操作: ​ 创建一个应用结构文件(ACF)文档,包括相关的静态和动态物体,多通道视角,动作执行规化和特殊效果。 ​ 建立一个微软开发演示工作平台,用于编辑您的Vega Prime应用。 准备工作 ​ 在您学习本书内容时,请先安装Vega Prime并按书内容操作软件。 ​ 本书只包括为Window设定的文件路径。如果您在Solaris或Linux中使用Vega Prime,缺省路径为/usr/local/MultiGen-Paradigm/ ​ 完整的应用结构文件和代码位于C:\ProgramFiles\MultiGen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\tor nado\completed_ACF 目录下,使得转入程序任何部分或检查运行结果都非常容易。 ​ 用于参考的文件(PDF 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 )在C:\Program Files\Multigen-Paradigm\docs\vegaprime\pdf 目录下。 第一章 开始 介绍 Vega Prime(以下简称VP)是一个实时三维驱动的工具包。LP(以下简称LP)是用来定义VP中的类及其参数的人机交互界面,定义好的内容可以保存到一个文件中。 这部分内容描述了VP的结构和用户界面。 使用VP和LP VP最好与LP一起使用。尽管VP包含了创建一个应用所需的所有API,但LP简化了开发过程,而且LP允许开发者无需编写代码即可创建一个应用。 LP是一个编辑器,用于增加不同种类的模型,为模型定义参数。这些参数都存贮于应用配置文件(ACF)中的一个模型结构内,例如观察者的位置,模型及它们在场景中的位置,在场景中的移动,光线,环境效果,及目标硬件平台。ACF文件包含了VP在初始化和运行时所需的信息。 您可以在Active Preview(动画预览)中查看你所定义的内容。AP可以允许您使用交互式方法进行配置ACF,Active Preview会根据变化信息持续修改ACF内容。当出现变化,AP将用新的数据更新VP仿真窗口内容。 您同样可以用C++语言编写程序使场景更加生动。您可以根据应用中的特殊场景修改模型的参数。当一个模型建立完成后,您可以修改它位置。VP应用同样可以将ACF加载到一个图像数据流中。 当您编辑完应用后,它就成为一个可运行的3D实时应用! VP系统结构 如你需要了解更多LP内容及它如何与VP一起工作,请查询Vega Prime程序员指南。 VP应用的组成 应用程序 应用程序控制场景,模型在场景中的移动,和场景中其它大量的动态模型。实时应用程序包括汽车驾驶,动态模型的飞行,碰撞检测,和特殊效果,如爆炸。 您在VP外的开发平台创建应用程序,并将文件以.ccp格式存档。它就包含了C++可以调用的VP库的功能和分类。在编辑完成后就形成了一个可执行的实时3D应用文件。 应用配置文件 应用配置文件包含了VP应用在初始化和运行时所需的一切信息。通过编译不同的ACF文件,一个VP能够生成不同种类的应用。ACF文件为扩展Mark-up语言(XML)格式。 您可以使用VP编辑器LP来开发一个ACF,然后您可以使用VP API动态地改变应用中模型运动。对于实时应用来说,ACF不是必要的,但它可以将改动信息进行译码, 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 在.cpp程序中,这样可以为您节省大量的时间。 模型包 以前,通常是通过计算机辅助设计系统或几何学来创建单个模型,但这些方法在实时应用很难进行编码。 现在,可以使用MulitGen Creator和ModelBuilder 3D,以OpenFlight的格式来创建实时3D应用中所有独立的模型。可以使用Creator Terrain Studio(CTS),以MetaFlight格式来生成大面积地形文件。并可以使用这两种格式在VP中增加模型文件。 启动LP 在本章开始前,请先安装好VP,并正确建立许可 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 。帮助文件夹安装在:C:\ProgramFiles\Multigen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\tornado\data目录下,它包含了本书所有练习的所需的源文件。请参照Vega Prime启动指南,以获取安装和运行的有关信息。 您可以根据操作系统的类型来打开LP: ​ 如操作系统是Windows,请按开始-程序-MultiGen-Paradigm-Vega Prime顺序点击,然后从第二级目录中启动LP。你也可以点击桌面上LP的快捷键启动程序,这个快捷键应在安装程序时创建完成。 ​ 如操作系统是Solaris或是Linux,请打开命令窗口,在命令行中输入LP,启动该程序。 退出LP 如需退出LP,选择文件-退出,或同时按Ctrl和Q键。您也可单击窗口上方的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 关闭键。 保存 我们建议您经常在LP操作过程中进行保存。这样在出现突然停电或系统故障时,不会丢失数据。LP在文件目录中提供了所有标准文件工具。你必须学会使用这些工具。 Save 保存这在这个文件,我们建议您在修改原文件前进行保存,快捷键:Ctril+S。 Save As 以其它文件进行存档。自动给文件名附加.acf或.mft后缀。 LP的界面构成 LynX Prime用户界面包括四个部分:实例树形显示区(Instance Tree View),用户操作区(GUI View),应用程序区(API View),和工具条(Toolbar)和目录区(Menus)。所有这些区域将显示同一选定的对象的信息,但是这些信息是以不同格式进行安排的。你可以在一个或多个工作区进行操作来定义ACF。 GUI View 用户操作区在用户界面中显示ACF模型及相关的参数,操作起来十分方便。你可以从一个下拉菜单中选择参数,也可在空格处输入参数。 当您打开Lynx Prime,第一个显示的用户操作窗口叫myKernel,这是Vega Prime中Kernal类型中的一个实例。Kernel即是应用的起始点。 Instance Tree View 实例树形显示区显示目前正在操作的ACF文件和文件中包含的所有模型。实例树用一个等级结构显示了模型间的关系,及与它们的上级模型和下级模型的关系。通过实例树你可以直观的了解到应用中的模型之间的联系。 如果您选定等级中一个模型,在所有的操作区中同时显示这个模型的有关信息。 如果一个模型在文件中的不同的地方被使用,在这个模型的文件名旁就标有蓝色的箭头。向下的箭头 表示文件第一次被使用。向上的箭头 表示这个模型的其它应用。 如上面图例所示,MyPipeline的子目录MyWindow调用MyChannel,这是MyChannel第一次被调用,所以在它旁边标有一个向下的箭头。MyChannel后又被myObserver调用,所以这时在它旁边标有一个向上的箭头。 当您选定一个图标时,图标的属性和当前的参数就会显示在用户操作区和API区。 API View API区显示选定的模型的所有可能的变量。在这里可以定义模型的值,就象在用户操作区一样。但是在API中,你可以直接给变量赋值。当您更改应用中的参数时,你可参考API区中要使用的变量的值。 Toolbar LynX Prime工具条包括所有操作模型及属性的快捷按钮。这些功能同样可以在LynX Prime的目录中找到。 New File 创建一个新的,含有默认类型值的ACF文件。 Open File 打开文件浏览器,你就可以选择一个ACF文件加载到LynX Prime。所选定的ACF文件将替换目前正在显示的ACF文件。如果目前显示文件已经更改过并且还没有存盘,LynX Prime将会在打开文件浏览器之前提醒您保存更改。 Save File 保存当前的ACF。如果这个文件没有保存过,你可以在显示的对话框中输入文件名和保存目录。 Create Instance 将显示一个对话框,其中包含可以增加的模型类型列表。也可以根据名称或范围在对话框中显示或分类这些项目。 Cut Instance 将当前选定的模型拷贝到剪切板,并从当前的ACF文件中移走。 Copy Instance 拷贝当前选定的模型到剪切板,但模型仍留在ACF文件中。 Paste Instance 将剪切板中所存的模型加到当前ACF文件中。只有剪切板中含有模型才能执行此操作。 Delete Instance 从当前的ACF中移走选定的模型。将会出现一个对话框提示您进行删除或取消操作。删除操作不会在剪切板中留下模型的拷贝。 Backward 显示前一步显示。 Forward 显示下一个。只有操作过退后键才能操作这一步。 Views 在LynX Prime中四个不同的操作区之间转换: ​ 用户操作区在上面,同时API区在下面 ​ API区在上面,同时用户操作区在下面 ​ 只显示用户操作区 ​ 只显示API区 Active Preview 当LynX Prime中的参数发生变化时,显示运行一个基本Vega Prime应用,这个应用接收LynX Prime的发送的参数。您可以在您的ACF的三维场景显示中移动。 ACF Information 弹出一个对话框,显示当前ACF文件的信息。这个对话框同样可以用于执行其它ACF文件的操作,和生成一个在当前ACF文件中运行的应用。 LP Documentation 发布在线帮助阅览器,可以访问到每一个API和构成API各种方法。在线帮助提供Vega PrimeAPI的最新信息。 第二章 创建你的场景 介绍 在您的应用中将要创建一个场景,包括一片郊区,一所农舍,一辆行驶的汽车,和一个谷仓。 在下一章中,您将在场景中增加龙卷风,它摧毁所经过的地区的所有东西。在场景中增加一头奶牛,它被龙卷风从地面刮起卷到空中。 开始时,您将使用LynX Prime来创建模型。这些文件是Vega Prime的一个类别(myObject)中的实例。 Prime连接 您将用农舍,汽车和谷仓的模型来实现Prime连接。其中你可以在MultiGen Creator桌面指南中找到农舍的实例,稍做修改后即可完成它的连接。 注意! 当您学习书中所有操作时,请按书中所标明的文件名或物体名进行操作。您随后运行的应用将按您存在ACF的文件的文件名进行调用。 目标 这部分的学习目标是使用LynX Prime的基本内容。您将把OpenFlight文件作为物体添加到场景中,并且为它们定位。一个物体对应着一个OpenFlight文件。一个场景就是一个观察者可以浏览到的事件集合。然后您可以在Active Preview(动画预览)中查看场景并在其中移动,也可以交互式修改ACF。 在此过程中,您将学到一些基本Vega Prime概念,包括: ​ 在LynX Prime中创建和存贮一个ACF文件 ​ 熟悉LynX Prime用户操作界面和其它界面 ​ 在您的仿真中加入OpenFlight模型做为物体。 ​ 在场景中添加新的物体。 ​ 在API区更改模型的参数。 ​ 使用动画预览工具预览和修改应用。 添加和浏览物体 您将把OpenFlight文件作为物体加入到场景中。这些物体包括地形,农舍和汽车文件。您还要给他们固定好位置和方向,然后在动Active Preview中交互式的浏览这些物体。 添加地形 地形创建是应用的基础。在LynX Prime中为场景类赋一个地形OpenFlight文件值。您可以在Active Preview实时应用中浏览场景,并在其中移动。 Step 1 在C盘中创建一个文件夹 “VegaPrime_Desktop_Tutoria”,把所有完成的ACF文件存于这个目录中。 Step 2 单击 开始 > 程序 > MultiGen-Paradigm > Vega Prime > LynX Prime,打开LynXPrime. Step 3 单击Vega Prime的菜单栏中的文件,选择另存于(Save as),弹出对话框,将对话框中的目录改为C:\VegaPrime_Desktop_Tutorial,将您的ACF文件重命名为Chapter2.acf。 Step 4 单击保存,将您的ACF文件存于C:\VegaPrime_Desktop_Tutorial中,对话框关闭,LynX Prime窗口标题条显示新的ACF文件名。 Step 5 单击用户操作区顶部的实例键 ,选择myObject。您也可以在实例树中单击myScene,在它下面选定myObject。 myScene实例是myObject的上一级实例。 您可单击实例键,从它的选择列表中选择myObject。 注意在文件名区中有town.flt文件,它是在默认ACF模板中myScende实例的默认子物体,但是你必须用新的OpenFlight文件来替换它。 Step 6 点击Filename区旁的浏览键 ,在C:\Program Files\Multigen- Paradigm\resources\tutorials\vegaprime\desktop_tutor\tornado\data\land 目录下选定Prime_Junction.flt文件。 当您在对话框中点击Open,Prime_Junction就将替换town.flt文件。 Step 7 在API区中在LynX Prime窗口下面,选择myObject的value,将其改为terrain,在用户操作区和实例树区中,myObject改为terrain。 Step 8 在实例树区,点击myScene,注意在所有的三个显示区内,都显示terrain是myScene实例的子物体 Step 9 保存。 预览应用 现在您可以在Active Preview中预览您的场景。利用Active Preview你可以实时观测到开发出的应用。Active Preview运行时, 任何ACF参数的变化也会立即显示出来。 Step 1 选择Tools下的Active Preview,弹出命令提示窗口,然后Active Preview打开,开始运行Chapter2.acf文件。 注意 如果Active Preview充满了您的屏幕,您可以缩小它的尺寸。自先,按Esc键关闭Active Preview窗口,在实例树区内,点击myWindow实例打开myWindow用户操作区,这个实例控制Active Preview窗口,例如,将窗口的长和宽的值改为5,12,形成一个较小窗口。 可以用鼠标和键盘来控制场景中的方向,如要在场景中向前进,按住鼠标左键。如要向后退,按住鼠标右键。如要停止(刹车),按下键盘中的X键。将鼠标拉向你,可在场景中向上;将鼠标推离你,可在场景中向下。鼠标固定在窗口的中央,可保持盘旋模式。 ​ 在场景中向前进,按住鼠标左键。 ​ 在场景中向后退,按住鼠标右键。 ​ 如要停止(刹车),按下键盘中的X键。 ​ 将鼠标拉向你,可在场景中向上; ​ 将鼠标推离你,可在场景中向下。 ​ 鼠标固定在窗口的中央,可保持盘旋模式。 Step 2 查看这片区域,这个场景有大片贫脊的土地,但在高山的另一边有一个小湖! Step 3 完成检查后,按Esc关闭Active Preview。加入一个经典农舍。 添加农舍 也许您已经在Creator Desktop Tutor中建立一个农舍。为这个Desktop Tutor,这个农舍已经进行了修改,并安装在Vega Prime目录中。 把农舍作为其它物体加入场景,然后修改它的位置。 Step 1 在实例树区,点击myScene,它的用户操作区即显示出来。将农舍作为子物体加在这个用户操作区中的子区。 Step 2 在Children区点击创建实例键 ,为新实例选择Object类型。 Step 3 在对话框中选择Object,点击OK。 Step 4 在子区点击前进键 进入myObject用户操作区。 Step 5 在API区,选择myObject的Value,将值改为farmhouse. Step 6 点击在文件名区旁的浏览键 ,在c:\Program Files\Multigen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\torna do\data\farmhouse目录下选择farmhouse.flt文件。 Step 7 在地形中确定农舍的位置,在Position区中输入X,Y,Z的值为(773.822,945.877,-1.000) Step 8 在工具条中点击Active Preview键 ,在场景中确定农舍的位置(固定在湖边!)。用鼠标和键盘控制在场景中的位置。 Step 9 做完后关闭Active Preview。 Step 10 保存你的工作。 改变位置 尽管上一步农舍被固定在湖边,但我们需要将农舍移到靠近公路和农场的中心区域。这个操作十分简单。 Step 1 在farmhouse用户操作区,将农舍的坐标位置改为(1960,1000,0)。 Step 2 点击Active Preview键,重新查看农舍的新位置。农舍已经移到山的另一边,现在固定了它的位置。 增加汽车 在农场中添加一辆汽车非常容易,你可以将汽车固定在靠近农舍的位置,在后面,您将学习让汽车运动起来。 Step 1 进入myScene用户操作区。 Step 2 在Children区点击创建实例键 ,选择物体类别为新实例。 Step 3 在创建实例对话框中选择Object,单击OK。 Step 4 在子区中myObject会突出显示,点击前进键 进行myObject用户操作区。 Step 5 在API区,选择myObject的Value,将值改为Hummer。 Step 6 在用户操作区中,点击文件名称区旁的浏览键 ,在c:\Program Files\Multigen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\torna do\data\dirtyHumv目录下选择humv-dirty.flt文件。 Step 7 在位置区输入(1990,1000,0) Step 8 在方向区内输入汽车的头朝向,斜度,转弯度分别为:(140,0,0)车的位置就定为在农舍前的公路上。 Step 9 点击工具条动画预览键 ,在场景中将汽车位置固定在农庄旁。 Step 10 关闭Active Preview,保存。 添加谷仓 这里添加一个大谷仓来储存粮食。 Step 1 进入myScene用户操作区。 Step 2 在Children区点击创建实例键 ,选择Object类别为新实例。 Step 3 在创建实例对话框中选择Object,单击OK。 Step 4 在子区中myObject会突出显示,点击前进键 进入myObject用户操作区。 Step 5 在API区,选择myObject的Value,将值改为grainStorage(注意大写字母S)。 Step 6 在用户操作区中,点击文件名称区旁的浏览键 ,在c:\Program Files\Multigen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\torna do\data\grainstorage目录下选择grainStorage.flt文件。 Step 7 在位置区输入(2450,2465,0)头朝向,斜度,转弯度都为0。 Step 8 运行Active Preview,谷仓的位置与农庄保持一定距离。存盘。 小结 我们创建了一些模型,并把他们放入场景中。当我们在场景中移动时,这些物体才像是在移动,但这并不是我们希望的最后结果。下一章,我们将讨论观察者,物体的运行方式s,及通道。 第三章 运动方式和观察者 介绍 现在,你已经可以在场景中移动了。如果让场景中的物体也活动起来就好了。运动模式仿真与定位方法不同,例如有飞行,行驶,行走或盘旋。当你将一个运动模式与一个您希望它在场景中运动起来的物体连接起来时,你同样可以将观察点放在或靠近运动物体,这样你就可以感觉到你正用鼠标来控制它的运动。本章,你将学到如何在不同位置上设置观察点,连接运动,定义通道,以实现在同一时间观察场景的不同点。 运动和观察 目的 这个指南将使您学会如何在LynX Prime中定义和定位观察点,以从不同的有利点观察场景。你还将给汽车加上行驶和碰撞检测,为场景中的与汽车相联的土地加上碰撞检测。最后你将设立不同的通道,这样您就能在Active Preview中从不同的观测点观察场景中的物体。 目标 你将学到以下这些概念: ​ 定义观察点的位置和朝向 ​ 使用transform来放置观察者 ​ 用运动模块给物体加载运动 ​ 为物体加载碰撞检测 ​ 为Active Preview设置场景的不同观察点。 设置观察者 一个观察者就是您仿真的观察点。观察所有的物体都是从观察点发出的。在Vega Prime中观察者的起始位置的默认值是地形的原点。原点的通常位置是在西南角或地形的中点。您可以在MultiGen Creator或ModelBuilder 3D中的地形OpenFlight文件中找到原点位置。 Prime_Junction.flt地形的默认位置在西南角。 在Vega Prime平面地面的坐标系统中,用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的值与父系统有关。 这部分将讨论如何将transform做为出发点用于一个观察者,它将设置于汽车的后面。观察者将随着场景中汽车位置的移动而移动。 Step 1 打开Chapter2.acf。 Step 2 在工具条中点击创建新实例键,打开创建实例的对话框。 Step 3 在实例列表中选择transform,点击create。在LynX Prime窗口中显示myTransform用户操作区。 Step 4 在API区,将名字改为hummerTransform,这个tranform将用于从汽车上设置我们的观察点。 Step 5 在hummerTransform用户操作区,在Parent列表中选择car,这样transform的父系统就是hummer。所有赋于transform的值都与car物体相关联。 Step 6 将transform的位置设为(0,-30,5)transform的位置就为在汽车后的30个数据库单位(米),汽车上空5个数据库单位。 Step 7 保存您的工作,目录为C:\VegaPrime_Desktop_Tutorial。文件名为Chapter3.acf。 为观察者设置目标 我们将把观察者的观察角度设置在汽车上。 Step 1 在实例树区选择myObserver,打开myObserver操作区。 Step 2 注意在Look At Target中的设置为无。 Step 3 在Look From Target列表中选择hummerTtransform。 Step 4 在更新位置(Update Position)区中清除Enabled的复选框,这样观察者的位置就随汽车的位改变而改变。(您将在下节中学习为汽车加载运动)。 Step 5 打开Active Preview(Ctrl+A)。检查观察者的位置应在汽车后面。 Step 6 检查完毕后关闭Active Preview。 Step 7 保存ACF文件。(Ctrl+S) 在下节中,你将学会给汽车添加运动模式。 添加运动模式 运动模式是一个位置方法,它允许通过使用一些标准输入设备执行经过准确定义的定位方法,这些设备包括,例如:鼠标,键盘和操纵杆。Vega Prime中的vpmotion类是所有运动模式的基础。 在上几章中,用来在场景中移动的默认的运动模式叫MotionUFO。这种运动模式是一个无重力运动模式,它可以迅速移动,并且可以移动到任何地方。还有其它运动模式可以支持飞行,行走,驾驶等等。 首先您要将UFO运动模式添加到汽车上,然后,您将学习如何更改运动模式。 Step 1 从Instance Tree区选择汽车。 Step 2 在hummer的用户操作区,在Update Position列表中选择myMotion。 Step 3 注意选择Enable复选框,这样汽车就能从运动模式中接收并处理最新的信息。 Step 4 打开Active Preview(Ctrl+A)。 注意汽车正以UFO运动模式在地上运动,但这种运动方式对于普通汽车是不正常的。所以我们要更改,选择更好模式以适应汽车的运动。 Step 5 关闭Active Preview。 更改运动模式 MotionUFO适合飞行穿越仿真,但是如果您希望改为行驶穿越仿真,你就必须将运动模式改为MotionDrive,在三种地形中可以应用MotionDrive。使用可以控制运动模式的速度和驾驭动作。另外,还可经常看到汽车驾驭! Step 1 在Instance Tree中选择myMotion,显示myMotion的用户操作区。 Step 2 在Type列表中选择MotionDrive。 Step 3 在Speed区中将最高速度减小为10.00,以便容易驾驭。 Step 4 打开Active Preview,根据窗口下方的提示,用鼠标在场景中行驶您的汽车。试着围绕农庄,并湖边停下。 ​ 按鼠标左键为加速,朝各个方向拖拉鼠标,汽车的方向就随鼠标就动。 ​ 按鼠标右键为减速,连续按右键,汽车就慢慢减速。 ​ 停止运动(刹车),按鼠标中键。 ​ 后退是按鼠标右键并向后拖。 Step 5 保存您的设置。 您可能觉得汽车一直在下沉,不用担心。您的运动模式不是与地面接触,或者说,您的运动模式根本不能找到地。在添加接触检测后情况就会好一些。 添加碰撞检测 Isectors是接触检测,一些接触检测有大量复杂的运算,可以支持你用地线夹将运动模式固定在地面。还有一些相对简单的,包含几行代码行的运算,用来区分目标。根据检测类型的不同,您可以在C++程序中编写适当的反应程序,如在墙体前停车。 你可以从以下内容选择运算: ​ Tripod – 三条聚集数据的直立线段,指引使用t者到指到目标。Tripod用于在水平地面上。 ​ Bump-六条线段,沿X,Y,Z轴正负方向聚集爆炸。 ​ LOS-单根视线线段,沿Y轴向辐射。它聚集您面前的数据。 ​ HAT-单根线段,沿Z轴辐射,它计算地形上的高度。 ​ XYZPR-计算及斜度和转向 ​ ZPR-计算爆炸点的Z轴方向的斜度和转向 ​ Z-计算Z轴上的爆炸点。 在我们指南中,我们将添加一个Isector来用地线夹将汽车固定在地形上,然后给汽车添加一个bump检测爆炸。我们将使用LynX Prime添加这两个运算。 添加一个Tripod检测 添加之前,你必须创建一个实例来用地夹线通过Isector来固定一个运动模式。 Step 1 在myMotion的用户操作区中,点击创建新实例的键 ,这个按键在Next Position Strategy列表旁边。 Step 2 在创建新实例对话框中,选择GroundClamp,点击Ok。 Step 3 点前进键 显示myGoundClamp用户操作区。 Step 4 点击Isector列表旁边的创建新实例键 。 Step 5 在创建新实例的对话框中选择IsectorTripod,Ground Clamp实例将会使用这个功能来计算爆炸信息。最终运动方法将接触信息反馈给汽车。 Step 6 点击前进键显示myisector用户操作区 Step 7 将mylsector改名称为tripodIsector. Step 8 保存。 设置Tripod检测 我们需要将地形做为tripod检测的目标,tripodIsector将用地形来寻找接触,并将信息传递给所有相关的运动模式。 Step 1 在tripodIsector用户操作区,在Target列表中选择地形物体作为目标。 Step 2 设置选择Render Isectort复选框用于isector显示。如果isector找到地形目标,线条显示为绿色,否则线条显示为红色。 Step 3 运行Active Preview,你将能在屏幕上发现从汽车发出三条绿垂直线。 Step 4 设置tripod检测的宽度为10,长度为12,这样可以检测更大的接触面。宽度和长度的参数表示三根线彼此之间的距离。重新设置后,三根线的之间距离会拉大,您将能看到地面上三根直线间的三角形联线。但这个三角形不处理任何爆炸信息,而是由这三根垂线处理所有的工作。 Step 5 现在,沿湖边驾驭汽车。请注意你现在不会再觉得汽车在向下陷。当心,别开到湖里去。 Step 6 现在请开到马路上,开始练习您的驾驭技术。 Step 7 将汽车驶离数据库区,当你离开仿真世界的边缘时,汽车发出的三根线呈红色,因为这时他们无法再检测到与地面目标的接触。 Step 8 退出Active Preview,别忘了存盘。 添加Bump检测 如果汽车面前有农舍时,Bump检测就会检验到。 注意: 如果在LynX Prime定义碰撞检测,那么它无法阻止汽车穿越农舍。你必须在API中定义这个动作,这部分将不在本文范围之内。随后,你要在LynX Prime中添加汽车与房屋相撞时的效果。 Step 1 在工具条中点击创建实例键 。 Step 2 在对话框中选择IsectiorBump。 Step 3 点击Create。 Step 4 将myIsector改名为bumpIsector。 Step 5 将碰撞的宽,长和高的参数设置为10,因为默认设置值太小。 Step 6 在Target列表中选择农舍为目标。接触检测将根据边靠边标准检测与农舍的接触。 Step 7 打开Isector Mask旁的浏览按键 打开Bitmask Editor,bitmask将会把指导地形目标(我们将在后面的指南中建立这些地形目标)从一些检测中排除出去,在检测最新过程中节约时间。 Step 8 除了Bit1之外,清除所有的的bit。Bitmask将会显示为0000001。 Step 9 点击ok保存bitmask。 Step 10 在Position Reference列表中选择汽车目标,碰撞检测自己就会与汽车建立联接。 Step 11 在用户操作区中选择Render Isector复选框,以便在Active Preview中查看线段。 Step 12 点击Owning Isector Service列表旁的创建实例键,并且选择IsectorServiceInline。在线服务将会为每个结构提供最新的相关的检测,这样就把接触数据存贮起来为以后使用做准备。处理接触信息的流程与处理应用的流程一样。 注意: 我们不必给tripod检测添加在线服务,因为三角检测不直接联接于运动模式,而运动模式处理最新数据。但是,接触测试不与地夹线或运动模式联接。三角检测本身只确认它的位置与汽车直接相关。在线服务确认每个结构的检测是最新的,这样才能存贮数据。 意外收获! 如果您不喜欢在汽车后面驾驭汽车,你可以将transform添加在汽车内。 Step 1 在hummerTransform用户操作区,将transform的位置改为(-9,-13.2,2.93)。 Step 2 运行Active Preview来检测新的设置,你觉得驾驭变得容易了不是更难了?如果你喜欢这个设置,就把它保存起来,如果不,你可将设置改回原来的值(0,-30,5)。 Step 3 退出Active Preview,退出前请先保存。 定义通道 通道就是进入图形窗口的视角。一个窗口可能有几个通道。通道的位置由拖曳区来管理。拖曳区是根据相关窗口的规范值。 通道的默认值是与窗口大小一样,但是你可以调节它的大小。你同样可以调节拖曳区的值来排列或叠加通道。 我们将要用一些观察者来创建通道,然后调节他们。 创造新的通道和观察者 Step 1 从工具条中点击创建实例键,显示创建实例对话框。 Step 2 在Class列表中选择Channel和Observer。 Step 3 点击Create。这样你可以同时创建通道和观察者。 Step 4 将myChannel 1改名为houseChannel。 Step 5 将myObserve 1改名为houseObserver. 配置房屋通道 要配置房屋通道,要先将房屋观察者和房屋通道联接起来,然后在Active Preview窗口中放置房屋的视角。 Step 1 在houseChannel用户操作区,在Used By Observer列表中选择houseObserver。 Step 2 在Used By Window列表中选择myWindow。 Step 3 在拖曳区输入以下值,在窗口的左上方设定房屋通道。 ​ 左边=0 ​ 右边=0.5 ​ 底边=0.5 ​ 顶边=1 Step 4 保存ACF文件。 配置房屋观察者 Step 1 在houseChannel用户操作区中,点击前进键选择Used By Observer列表中houseObserver。houseObserver用户操作区打开。 Step 2 在Scene列表中选择myScene。 Step 3 将观察者的位置设为(1280,880,140)。 Step 4 选择farmhouse作为注视目标。农舍就一直处于房屋观察者通道的中心。 Step 5 注意在Get Position From列表中选择No Selection。 Step 6 在Attachments区,点击添加联接按键 ,选择myEnv与房屋观察者联接,将在houseChannel中有光线显示与myEnv联接。 Step 7 运行Active Preview。你将会看到两个窗口,一个是原来的窗口,另一个左上角的窗口显示的是从上向下看农舍的情景。 Step 8 退出Active Preview, 注意保存您的设置。 让我们在农庄前视点增加更多的通道,再添一个俯视通道。 从前方设定一个通道 首先,主我们从前方设定一个视角。 Step 1 点击工具条上的创建实例键,打开创建对话框。 Step 2 在Instances to Create区输入2,创建2个通道。 Step 3 在Class列表中选择Channel。 Step 4 单击Create。 Step 5 转入myChannel1用户操作区。 Step 6 将mychannel1改名为portchChannel。 Step 7 在拖曳区输入以下值,在Active Preview窗口的左下角设定前方通道位置: ​ 左边=0 ​ 右边=0.5 ​ 底边=0 ​ 顶边=0.5 Step 8 在Used By Window列表中选择myWindow。 Step 9 选择Used By Observer列表旁的创建实例键。这样就创建了一个新的观察者,并将porch渠道与新创建的观察联接起来。 Step 10 保存。 配置前入口观察者 Step 1 在Used By区域,点击前进键进入myObserver1用户操作区。 Step 2 将myObserver1改名为porchObserver。 Step 3 在Scene列表中选定myScene。 Step 4 在Attachment区,点击增加联系键来建立与myEnv的联接。这个操作也将增加光线。 Step 5 点击Look From Target列表旁的增加实例键来增加一个新的transform,并将它与入口观察者建立联接。 Step 6 保存。 配置入口transform Step 1 在porchObserver用户操作区,在Look From Targe列表中myTransform旁有前进键,点击此键后显示myTransform用户操作区。 Step 2 将myTransform改名为porchTransform。 Step 3 将父系统设置为farmhouse。 Step 4 设置位置为(3.5,-4,5),设置朝向为180。这个朝向和位置位于农舍的前门向外看。 Step 5 运行Active Preview,因为观察设置为入口transform,你可以从入口transform处看到景物,你仍然可能看到农舍,也可从汽车后部看。 新设置的通道叠加在原始通道,通道按创建的先后进行排列。所以最新创建的通道在窗口的上方,我们将很快调整原始通道。 Step 6 保存ACF文件,退出Active Preview。 创建一个俯视通道 一个俯视通道可象看地图一样看您的场景。 Step 1 在实例树图中,选定myChannel2显示它的用户操作区。 Step 2 将myChannel2改名为orthoChannel。 Step 3 在Projection列表中选择Orthographic。俯视投影不是一个透视俯视。 Step 4 在Frustum区中输入以下参数: ●​ 左=-1500 ●​ 右=1500 ●​ 下=-1500 ●​ 顶=1500 这个截面参数确定了俯视图的周长大小。 Step 5 在Draw区输入以下参数 ●​ 左=0.5 ●​ 右=1 ●​ 底边=0.5 ●​ 顶边=1 俯视图通道位于屏幕的右上角。 Step 6 将偏移量定为(0,0,600),将这些输入朝向,斜度和转向值。 ​ 朝向=0 ​ 斜度=-90 ​ 转向=0 这个通道向下旋转90度,截取的Z轴上的值为600米,这样屏幕将无法显示物体高于600米的部分。 Step 7 在Used By Window列表选定myWindow。 Step 8 点击Used By Window列表旁的创建新实例键,为OrthoChannel创建一个新观察者。 Step 9 保存。 配置Orthographic观察者 Step 1 在orthoChannel用户操作区中,点击刚创建的新观察者旁边的前进键。 Step 2 将myObserver1改名为orthoObserver。 Step 3 将myScene设置为屏幕。 Step 4 将myEnv加上光线。 Step 5 将观察者的位置设为(1500,1500,0) Step 6 运行Active Preview,查看四个屏幕j内容。 正如先前提到的,需要调节原始窗口。现在我们将在Active Preview运行时来调节它。 调节原始窗口 Step 1 在实例树区中选择myChannel用户操作区。 Step 2 在Draw区 ​ 左=0.5 ​ 右=1 ​ 底边=0 ​ 顶边=0.5 现在您能看到所有四个窗口,Prime联接的最初设置的物体现在看上去生动多了。 Step 3关闭Active Preview并保存。 修改视窗 Active Preview窗口的默认名字为Vega Prime Window,但是最好能给窗口一个独特的名字。 你能为Active Preview一个独特的名字,这样在它运行时可以反映这个名字代表的程序。例如,如果您的观察者能在不同通道间转换,你能将窗口名称改成现在正在使用的通道名称。比如View of Satellite from Shuttle 或 View of Target 我们也可以进行窗口的其它参数修改,例如隐藏窗口的边框和窗口内的鼠标。 Step 1 在实例树区选择myWindow。 Step 2 在Label区输入Prime Junction Application。 Step 3 运行Active Preview,你就s可以在顶边显示窗口的新名字。 Step 4 在Options区,取消Border的复选框,如果你取消了边框,窗口的修饰和信息栏都会消失,你可以随意打开或关闭边框。 Step 5 取消鼠标的复选框,那么在Active Preview窗口内就不再出现鼠标。 Step 6 设置窗口边框为打开。 Step 7 设置鼠标为无。 Step 8 保存,并关闭Active Preview。 小结 我们现在可以在地面上行驶汽车了。在Active Preview中我们为观察者设定了位置,并把他们与场景中的物体联接起来,我们还从不同的视角设置了一些通道。我们也为接触检测进行了定义,并且我们将在其它章节继续学习这部分内容,到时我们还将添加一些特殊效果。 接下来我们要改变一下环境,并给汽车加上车头灯以适应在黑暗中行驶! 第四章 环境 介绍 LP里面的环境效果包括阳光、月光、雾、风等。还可以控制一天中时间的流逝速度效果。你可以在几分钟的时间内将黎明变成白天、黄昏和夜晚。 这章中将会讲解如何设置天时、天空和云层的效果以及添加光点。 环境设置 目的 学会为自己的应用设置环境效果,例如依据天时而变化的阳光和月光、多云的天空。还可以给汽车加上光点,这样就可以在黑暗里行驶。 目标 ​ 学会以下VP概念: ​ 控制天时 ​ 改变天空颜色 ​ 改变云层纹理 ​ 在物体上定位光源 定义环境 VP中的环境是云、雾等大气现象的综合体。它包含了阳光和月光源。LP中阳光和月光会依据天时进行自动调整。 LP提供以下几种效果来帮你创建一个实时的环境: ​ 太阳-由一个亮盘来代表太阳在天空中的位置。 ​ 月亮-由另一个亮盘来代表月亮在天空中的位置。 ​ 云层-云层的一层。 ​ 穹顶-刻划出天际线的效果。穹顶有一个无边的地平面,颜色可以自定义。 改变天时 默认天时是从午时12点开始,时间决定了光照的强度。一天中太阳和月亮交替出现。 Time Multiplier是控制时间快慢的工具。默认值为1,表示仿真时间和现实时间快慢相同;若值设为0,表示时间静止;若值设为60,表示仿真时间是现实时间速度的60倍,这时在半小时的现实时间内你就可以看到几乎整天的仿真天时效果。 Step 1 打开文件Chapter3.acf Step 2 转到myEnv的配置界面 Step 3 将Time Multiplier的值设为1200,这样一整天的天时渲染在不到2分钟之内就可以完成 Step 4 运行Active Preview,这样你就可以看到天色慢慢变黑的过程;同时还能看到太阳和月亮的升降效果 Step5 推出Active Preview Step 6 将文件保存为Chapter4.acf 改变天空的颜色 一场风暴就在眼前!我们可以改变天空的颜色和云层的纹理来制造出风暴的效果! Step 1 在myEnv界面,点击Sky旁边的Browse按钮 Step 2 将天空颜色选为红色 Step 3 运行Active Preview,就可以看到天空颜色和云层纹理混合后的效果 Step 4 接下来将颜色换成灰色或蓝灰色,这样更接近于风暴的颜色,下一小节将会改变云层的纹理以接近风暴的效果 Step 5 退出Active Preview,别忘了存盘 改变云层纹理 Step 1 在myEnv界面的Environmental Effects选项里选择myEnvCloudLayer Step 2 点击旁边的转向按钮,打开myEnvCloudLayer界面 Step 3 在Texture一栏里点击Filename旁边的Browse按钮 Step 4 选择E:\Program Files\Multigen-Paradigm\config\vegaprime\vpenv(安装目录)下面的clouds_storm.inta文件 Step 5 运行Active Preview,就可以看到风暴来临前夕的天空效果 Step 6 退出Active Preview,别忘了存盘 添加多云层: Step 1 在工具栏点击创建按钮 Step 2 所创建类别的数量就保持默认值1 Step 3 在Class的列表中选择myEnvcloudvolume Step 4 点击Create,这样在LP中就出现一个myEnvcloudvolume类 Step 5 在EnvironmentParent列表选择myEnv. Step 6 将EnvironmentParent更名为thunderCloud Step 7 在Translate列表里输入thunderCloud的位置,X:1460 Y:300 Z:650(如图) Step 8 运行Active preview 你将会在不远处看见一团乌云。 Step 9 退出Active Preview,别忘了存盘 添加闪电: Step 1 在thunderCloud界面选择effort标签 Step 2 在lighting列表里设置;Seveirty 为 1;IntraCloudSeverity 为0.5;(如图) Step 3 运行Active preview,你将会看到闪电周期性的出现。 Step 4 退出Active Preview,别忘了存盘 这样的天气里驾驶需要打开车前灯!下面我们要在汽车的前面添加光点来模拟车前灯! 添加光点 为了模拟
本文档为【VegaPrime中文教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_418442
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:81
分类:工学
上传时间:2011-04-04
浏览量:24