一. 技术背景
上篇文章我们学习了自定义三维模型如何在RflySim中实现仿真,接下来要学习三维场景导入RflySim的实验:将UE4自带场景导入RflySim平台,熟悉从UE4中烘焙场景并导入RflySim3D和CopterSim的流程,需要根据实际情况和仿真目的创建逼真的环境。
这包括地形的建模、添加建筑、道路和其他地物等。还可以考虑天气、光照和其他环境因素,以便更真实地模拟无人系统的运行环境。在三维仿真软件中根据需要创建模拟场景,这需要包括对象的布局、灯光设定、镜头设置等。系统中三维仿真场景的绘制结构如下图所示,通过该图可以看出组成整个三维仿真场景的两大模块:场景建模和载具建模。
二.实验原理
在UE项目中已处理完成的场景有三种:UE默认场景、虚幻商城购买的场景以及从其它UE项目中迁移来的场景。这些场景直接在UE中烘焙完成即可导入RflySim3D,RflySim3D中完整的仿真场景需要三部分信息:烘焙好的场景文件(”****.umap”)、地形高程信息(“****.png”)以及地形校准数据(“****.txt”)。
烘焙是指生成静态光照贴图以提高场景的视觉质量的构建过程,全部可用于虚幻引擎4项目的构建操作可参考构建操作:烘焙、打包、部署与运行虚幻引擎文档(unrealengine.com)。
每个”****.umap”(烘焙前后有区别)地图文件对应了一个独立的三维场景,RflySim3D会自动扫描平台安装路径:
【RflySim平台安装目录】\PX4PSP\RflySim3D\RflySim3D\Content目录下所有的.umap并自动导入。
为了将RflySim3D中的场景与CopterSim联动以支持之后的仿真流程,需要将场景的地形数据导入CopterSim。上述png地形文件实际上是以图片形式存储的二维矩阵,包含了场景的高程图,以png格式存储矩阵能够很好的实现高程矩阵的压缩,便于节省空间。png的高程文件并不包含坐标原点、缩放尺度、场景范围等信息,因此需要一个校正