Prepar3D开发总结01:模型与SDK

您所在的位置:网站首页 飞机模型教程可以飞的 Prepar3D开发总结01:模型与SDK

Prepar3D开发总结01:模型与SDK

#Prepar3D开发总结01:模型与SDK| 来源: 网络整理| 查看: 265

怀着一颗未知的心,终于耗时一周打开了Prepar3D的大门,总结起来也并没有那么的复杂,但是需要配置的步骤可能会稍微繁琐。为防止以后遗忘,服务他人也方便自己,还是写几篇关于开发过程的博客总结吧。本篇主要总结准对使用Prepar3D开发仿真模型的总结,主要的部分为Prepar3D介绍与配置、飞机模型介绍与配置、以及SDK的实践。

Prepar3D介绍与配置 Prepar3D

Prepar3D是一个可视化模拟平台,允许用户创建跨航空、海事和地面领域的训练场景。Prepar3D 通过真实环境让用户参与到沉浸式培训中。Prepar3D软件由洛克希德·马丁(Lockheed Martin)公司开发,该公司是世界上最大的国防承包商。目前版本以更新至V5.2,Prepar3D在软件安装的内部默认安装了众多型号飞机、轮船等的仿真模型,除此模型之外,Prepar3D支持二次开发,也就是说您可以开发定义属于你自己的飞机仿真模型,开发的模型还可以与外部硬件进行通讯,从而让用户达到沉浸式学习的效果。

配置与准备

在进行二次开发之前,请先准备以下资源和软件:

Prepar3D软件已成功安装并破解,如需软件资源可私信联系我准备Prear3D的SDK包,SDK包的主要文件如下,主要包含了一些二次开发的示例代码和工具插件 image.pngPrepar3D?Learning Center,P3D的教程中心,也是最权威最全面的参照指南,该文件在默认的安装目录中可以找到 image.pngVisual Studio软件已安装,并且对已经掌握软件的使用方法,同时具备一定的C++ 开发经验,如需软件请私信作者Photoshop 软件已安装,并且对PS掌握一些基本的操作,例如形状的绘制、图层的编辑等等 准备好以上资源之后,接下来就是先要对上述的软件进行一些配置和了解,对于P3D需要打开错误报告选项,方法为选择Options->Application->勾选Enable Content Error Reporting image.png 勾选完成之后,在每次软件加载模型过程中,如果编写或者配置的模型有问题,那么就会将具体的错误生成一个TXT文档,输出到Prepar3D v5 Files文件夹中,根据该文档就可以清晰地定位到错误的原因,相当于在编程过程中的二次编译。该文件夹的路径为:C:\Users\zsk\Documents\Prepar3D v5 Files,需要注意的一点就是,只有加载的模型出现问题才会将错误的Content Error Reporting.txt文件输出到该文件夹,如果该文件夹为空,则代表加载的模型正确,也可以说明二次开发的模型在语法和变量函数上没有问题。 飞机模型介绍与配置 模型文件

飞机的模型文件主要为两大类,一类是仿真模型的基础文件,该文件存放在SimObjects文件夹下;另外一类gau文件,存放在gauges文件目录下,可以理解成基础文件的扩展文件,在gau文件中实现了具体的功能和逻辑,二次开发的主要任务也就是生成对应的gau文件。两类文件相互结合,基础文件为gau文件提供框架,gau文件实现框架上的逻辑交互和动画展示。 在默认的安装目录下,P3D为用户提供了多种类型多种型号的仿真模型。以Mooney_Bravo型号的仿真模型为例,说明上述相应的两类文件。 Mooney_Bravo基础模型: image.png 该文件对应的路径如上图中所标记。主要的文件的含义如下:

model:模型文件,该文件夹下存放着主要的Simulink仿真模型文件panel:面板文件飞机上主要的面板都放在此文件夹下,该文件下还有一个panel.cfg(稍后会详细介绍)的配置文件,用于配置这些面板的属性sound:声音文件,模型中例如警告的声音,发动机的声音等一些音频文件都放在这里】texture:涂装文件,包含了飞机的外观设计,和涂装的颜色等等aircraft.cfg:整个飞机模型的配置文件,包含了飞机的各项详细参数,后面将详细介绍.air/.htm文件暂时不用管 gau文件: image.png 除了上述的框架之外,模型还需要gau文件的支持,如标红框的三项为对应飞机模型的gauges文件,该文件是通过Visual Studio C++编程输出的dll文件,具有很好的保密性。在框架的panel.cfg文件中就需要与该dll文件有交互。 如果我们想自己二次开发一架飞机仿真模型,如何添加到P3D中呢,我们可以通过将该飞机模型的基础模型文件和gauges文件打包成一个文件夹放在目录C:\Users\zsk\Documents\Prepar3D v5 Add-ons下,P3D在运行时会自动加载里面的模型。 panel.cfg

panel.cfg文件是面板的配置文件,在P3D的模型中,如果你想显示你编写的面板或者交互开关,必须要在此配置文件夹下进行配置。该文件大致的格式如下: image.png

[Window Titles]:包含面板的种类,其命名规则为:WindowXX={PanelName},XX代表面板的序 号,注意在命名序号中要从0开始,同时{PanelName}不可相同。[Windows XX]: 就是[Window Titles]中WindowXX的详细定义,在该项目中,可以定义面板的背景,面板的相关属性。除此之外,我们想要显示的仪表或者开关就是添加到该项目下,才可以在P3D运行时展示出来,具体的添加格式为:gauge00=Mooney_Bravo!Airspeed, 13, 10, 158, 158 其中Mooney_Bravo为生成dll(gau)文件的名称,Airspeed为在项目中定义仪表的名称,和程序中GAUGE_NAME相同,后面的四项分别代表仪表的X Y W H值。 #define GAUGE_NAME "Attitude" #define GAUGEHDR_VAR_NAME gaugehdr_attitude #define GAUGE_W 100

项目中定义的一些属性在此就不做过多的介绍,具体可以参考帮助指南,需要注意就是ident后面的数值每个Windows不能相同。

[VcockpitXX]:我理解的是添加3D的仪表,现在还没有涉及到,后面涉及到在做介绍。[Color]、[Default View]、[VIEWS]:为定义的一些颜色或者视角,在此就不做介绍,以后用到后再详细记录 aircraft.cfg

在模型的基础框架下面都有对应的aircraft.cfg文件,该文件的作用就是配置飞机的一些参数,包括发动机的型号、飞机模型外表的涂装、注册号、以及各个系统的属性参数。例如:在燃油部分配置了燃油的最大容量,如下图所示: image.png 如果我们想改变关于飞机的一些固有参数,在这个文件中查找修改即可。

SDK Panel实践 大致步骤 打开SDK中的C-Gauge Samples例程,该例程的位置D:\Prepar3D_V5\SDK\Panels and User Interface\Panels\C-Gauge Samples打开项目例程,检查例程的属性和配置,对例程进行重新编译将编译成功的例程的输出文件复制到C:\Program Files\Lockheed Martin\Prepar3D v5\gauges目录中对模型飞机的panel.cfg文件进行配置,添加要显示的仪表运行P3D,选择相应的飞机模型,点击Instrument,选择定义好的panel名称即可看到相应的仪表面板。 如下图显示所示,SDK的例程中,提供了燃油量的显示、燃油箱的选择、姿态球、航向和温度等信息。 image.png 需要注意

在帮助文档中有教程指导你如何运行SDK提供的C-Gauge Samples项目工程,在运行过程中需要注意以下几点:

检查项目的属性配置,选择本机电脑对应的SDK版本、平台工具集、配置类型选择DLL动态连接库 image.png在将输出的dll文件添加到MOON——brao飞机的仪表过程中,需要将这以下几项文件复制出来。直接粘贴到C:\Program Files\Lockheed Martin\Prepar3D v5\gauges目录。 image.png在编辑panel.cfg的过程中,注意gaugeXX的序号,序号不可重复。 总结

本篇博客主要是大概介绍了P3D的开发,后面将详细介绍SDK项目中程序的实现。第一次接触P3D的二次开发,有些可能还不是特别的了解,大概总结了下自己学习过程中遇到的一些问题,如果有错误之处,欢迎指出。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3