Prepar3D开发总结01:模型与SDK

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

Prepar3D介绍与配置

Prepar3D

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

配置与准备

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

  1. Prepar3D软件已成功安装并破解,如需软件资源可私信联系我
  2. 准备Prear3D的SDK包,SDK包的主要文件如下,主要包含了一些二次开发的示例代码和工具插件
    image.png
  3. Prepar3D?Learning Center,P3D的教程中心,也是最权威最全面的参照指南,该文件在默认的安装目录中可以找到
    image.png
  4. Visual Studio软件已安装,并且对已经掌握软件的使用方法,同时具备一定的C++ 开发经验,如需软件请私信作者
  5. 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实践

大致步骤
  1. 打开SDK中的C-Gauge Samples例程,该例程的位置D:\Prepar3D_V5\SDK\Panels and User Interface\Panels\C-Gauge Samples
  2. 打开项目例程,检查例程的属性和配置,对例程进行重新编译
  3. 将编译成功的例程的输出文件复制到C:\Program Files\Lockheed Martin\Prepar3D v5\gauges目录中
  4. 对模型飞机的panel.cfg文件进行配置,添加要显示的仪表
  5. 运行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的二次开发,有些可能还不是特别的了解,大概总结了下自己学习过程中遇到的一些问题,如果有错误之处,欢迎指出。

  • 20
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Prepar3D(简称P3D)是一款专业的飞行模拟软件,提供了完善的开发工具和SDK(Software Development Kit),可用于二次开发和定制化。 要学习Prepar3D SDK的二次开发,可以按照以下步骤进行: 1. 下载和安装Prepar3D:首先,你需要从Prepar3D官方网站(https://www.prepar3d.com/)下载并安装Prepar3D软件。确保你选择的是最新版本,并且安装过程中选择安装SDK。 2. 学习基本知识:在开始二次开发之前,建议你先了解一些基本的飞行模拟和Prepar3D的知识。这包括飞行模型、航空器系统、地理数据、场景设计等方面的基础知识。 3. 熟悉SDK文档:Prepar3D SDK提供了详细的文档,包含了开发所需的API、示例代码和教程。你可以在安装目录下的“SDK”文件夹中找到相关文档。阅读文档并熟悉SDK的功能和用法是非常重要的。 4. 开发环境设置:在开始编写代码之前,你需要设置好开发环境。这包括配置开发工具(如Visual Studio)和连接Prepar3D软件的调试环境。确保你的开发环境设置正确,并能够与Prepar3D进行交互。 5. 编写代码:使用SDK提供的API,你可以编写代码来实现各种功能和定制化。例如,你可以创建新的飞行器模型、设计新的场景、添加自定义的航空器系统等。根据你的需求,选择适当的API和功能进行开发。 6. 调试和测试:在编写代码的过程中,你需要进行调试和测试,以确保代码的正确性和稳定性。使用Prepar3D提供的调试工具和模拟器,可以模拟飞行环境并进行测试。 7. 发布和分享:一旦你完成了二次开发的工作,你可以将你的成果发布和分享给其他Prepar3D用户。这可以是一个新的飞行器模型、一个定制化的场景,或者其他有趣的功能。分享你的成果可以与其他开发者交流经验,并为Prepar3D社区做出贡献。 总结起来,学习Prepar3D SDK的二次开发需要学习基础知识、熟悉SDK文档、设置开发环境、编写代码、进行调试和测试,最后发布和分享。通过不断的学习和实践,你可以逐渐掌握Prepar3D的二次开发技巧,并创造出令人惊艳的飞行模拟作品。希望这些步骤对你有所帮助!如果还有其他问题,请继续提问。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值