平台三维资源索引¶
RflySim3D/RflySimUE5 内置丰富的三维模型与场景资源。每个模型样式由一个 XML 索引文件描述,预览图与同名 XML 放在同一目录;在对应引擎中按 F2 键可导出当前安装版本完整的模型样式索引表 ModelData.csv。
Unique3DClassID 计算公式:
Unique3DClassID = DisplayOrder × 100000 + ClassID自动同步:更新任一引擎资源后,运行
python scripts/sync_3d_resource_index.py --content-root C:\PX4PSP\RflySim3D\RflySim3D\Content --content-root C:\PX4PSP\RflySimUE5\RflySim3D\Content。脚本会读取两套安装的 XML、同步同名预览图、校正已有卡片的 Unique3DClassID,并自动更新 UE4/UE5 差异标记及未列出的模型、场景。
一、三维模型¶
按 ClassID 分组;每张卡片依次为:样式名、Unique3DClassID、尺寸/类型(如有)、中文名(如有)、版本/引擎差异标注(如有)。
版本与引擎说明:免费版只发行 RflySim3D(UE4),不含 RflySimUE5;完整版及以上版本同时提供 RflySim3D(UE4)与 RflySimUE5(UE5),两者的资源集并不完全一致。本页以 RflySim3D(UE4)的资源为基准,并对差异条目加注:
(仅完整版及以上版本支持):免费版的 RflySim3D 未包含;(RflySimUE5 未内置)/(RflySimUE5 未收录)——只有 RflySim3D(UE4)有,RflySimUE5 中没有;(仅 RflySimUE5 收录)——RflySimUE5 独有,RflySim3D(UE4)中没有;无任何加注= 免费版 RflySim3D 与完整版 RflySim3D/RflySimUE5 均可用。另有一类与版本无关的加注:
(用户预留号段)——平台不占用、留给用户导入自有模型的 ClassID,取号规则见 第二节。
四旋翼 (ClassID=3)¶
BlueprintCopter (ClassID=4)¶
WestTransportC130J
100000202蓝图导入(ModelType=2)
C-130J 运输机
(蓝图导入例程,非平台内置资产)
(当前安装版本未收录)
加油接收机
资源名:
Receiver10100213XML类型:未标注;ModelType=未标注
(RflySimUE5 未内置)
12 – 20
旋翼机与小型飞行器
9 个可用号多旋翼 / 共轴 / 倾转等自定义机型
(用户预留号段)
102 – 119
固定翼 / 复合翼
18 个可用号固定翼类模型一律取此段
(用户预留号段)
41 – 42、44 – 49
标定板与标记物
8 个可用号自定义标定板、二维码、地标
(用户预留号段)
53 – 59
车 / 船 / 机器人
7 个可用号地面车、无人船、潜航器、机器人
(用户预留号段)
61 – 70
靶标与场景道具
10 个可用号自定义靶标、障碍物、道具
(用户预留号段)
1 – 2、7、9
零散备用
4 个可用号前几段用尽后再启用
(用户预留号段)
<?xml version="1.0" encoding="utf-8"?>
<ModelInfo>
<ClassID>102</ClassID>
<DisplayOrder>1001</DisplayOrder>
<Name>MyFixedWing</Name>
<!-- 其余标签见《RflySim3D 模型导入XML配置规则》 -->
</ModelInfo>
四、自定义场景导入¶
RflySim3D 场景所需文件¶
RflySim3D中完整的仿真场景需要两部分信息
1. 场景文件(****.umap)¶
需要将烘焙完成后“【UE项目主文件夹】\Saved\Cooked\WindowsNoEditor\【工程名】\Content”目录下的场景文件拷贝到【安装目录】\RflySim3D\RflySim3D\Content目录下。
注意:
烘焙完拷贝出来后不能再修改得到文件和文件夹的名字,也不能在\RflySim3D\Content目录下新建文件夹。重命名只能在UE编辑器中进行。
每个”****.umap”(烘焙前后有区别)地图文件对应了一个独立的三维场景,RflySim3D/RflySimUE5会自动扫描PX4PSP\RflySim3D\RflySim3D\Content目录下所有的.umap。
场景中水平面以下部分的高度不能超过50m(这是由CopterSim中的dll模型初始点参考海拔设置的,由*init.m文件中的ModelParam_envAlitude参数指定),为了确保场景最低点在水平面上方,应该将场景中最低点设为场景参考点。下面以OldFactory场景为例说明这一过程:
先将场景导入RflySim3D,在RflySim3D中目测该场景最低点,双击读取该点高程信息,这里说明该场景最低点在水平面下方70m处。
因此在UE中打开该场景的关卡蓝图,如下将场景最低点(水平面下方7000cm处)设为参考点,相当于把场景整体上移70m,保存关卡蓝图,重新把场景打包导入RflySim3D。

2. 地形高程信息(****.png)¶
场景导入前,在UE编辑器中观测并记录场景的大致范围(单位为厘米);烘焙场景并导入RflySim3D后,在RflySim3D中利用比”*.umap”场景地形略大的范围(单位为米)使用RflyScanTerrainH(扫描地形)命令,这将在PX4PSP\RflySim3D目录找到对应“.png”和“***.txt”文件,分别存入了该场景的高程信息和地形校准及范围。将这两个文件拷贝到PX4PSP\CopterSim\external\map中即可完成导入。
注意:
png地形文件实际上是以图片形式存储的二维矩阵,包含了场景的高程图。以png格式存储矩阵能够很好的实现高程矩阵的压缩,便于节省空间。
png的高程文件并不包含坐标原点、缩放尺度、场景范围等信息,因此需要一个校正文件,RflySim平台采用txt格式输入9维数组或12维数组(多出经纬高地理基准信息)传入校正信息。
3. 地形校准数据(****.txt)¶
平台中txt校正文件存储的是右上角三维坐标点(xy全为正,z向上为正)、左下角三维坐标点(xy全为负,z向上为正)、第3点三维坐标点,单位均为厘米。前两个点的目的是为了确认地形的范围和中心坐标,第3点坐标可自行选取,理论上需要尽量在高度上与前两个点有落差,用于校正高度尺度。
除此之外,当在RflySim3D中使用cesium全球大场景(仅个人高级版以上)时,在txt中,还可以上述9维数据之后输入三维GPS地形数据,按纬度、经度、高度顺序加入,可配置QGroundControl中对应的显示基准坐标。









































































































































































































































































































