4.5 三维模型开发
1、每 个 飞 机 ( 或 三 维 模 型 ) 对 应 一 个 XML 文 件 , 目 录 见 :“C:\PX4PSP\RflySim3D\RflySim3D\Plugins\Rfly3DSimPlugin\Content\XML”
2、XML
文件中“ClassID”
对应了模型的类型(多旋翼、固定翼、人),“DisplayOrder”
对应了本模型的排列顺序,“AR_Drone_Army”
对应了模型的名字。
3、目前
4、可以用
5、例如发送一个
6、在上图的窗口按下 C+数字,可以快速切换到需要的小样式。
7、也可以在
8、更具体的搭建三维模型+场景,以及控制模型运动的方法见课程
9、要获取物体的三维网格信息,需要按上面的 pdf 步骤,安装
10、 定位到插件文件夹
ClassID
有下列选择:3(四旋翼)、30(人物)、40(标定板)、100(固定翼飞机)、5 和 6(六旋翼)、60(发光体)、151(方形环)、150(圆形环)、152(球形)、50(小车)4、可以用
Python
发送一条创建物体命令mav.sendUE4Pos(copterID,vehicleType,MotorRPMSMean,PosE,AngEuler,windowID=-1)
来向RflySim3D
创建一个物体,其中 vehicleType
对应了上文中的“ClassID”
可以选择飞机的大类样式,copterID
对应的是飞机的标号,其他的按例程填写即可。例如:mav.sendUE4Pos(100,30,0,[2.5,0,-8.086],[0,0,0])
表示飞机序号 100,样式是 3,旋翼转速为 0,位置在[2.5,0,-8.086],姿态欧拉角是[0,0,0]5、例如发送一个
vehicleType=3
的消息给RflySim3D
,然后按下键盘 C 键,就可以看到目录下面的所有飞机模型序号6、在上图的窗口按下 C+数字,可以快速切换到需要的小样式。
7、也可以在
mav.sendUE4Pos
的命令中直接发送vehicleType
来直达需要的样式,格式是:大样式+小样式*1000。例如vehicleType=5003
,表示大样式3,小样式 58、更具体的搭建三维模型+场景,以及控制模型运动的方法见课程
“RflySim 高级版_第 05讲_UE4 三维场景开发.pdf”
9、要获取物体的三维网格信息,需要按上面的 pdf 步骤,安装
3Ds Max
和UE 4.22
引擎,然后按下列步骤来。10、 定位到插件文件夹
11、 选中一个物体,此时可以看到物体的三维尺寸信息,这里单位是 cm,厘米,粗略用途的话,可以用这个值
12、 注意,物体在
RflySim3D
中的实际尺寸,还和XML
文件中的放缩标签密切相关。一般的xml
文件都是 1,也就是说 RflySim3D
中显示尺寸就是实际尺寸。也有小部分不是 1 的。例如,标定板是通过 11 的实际平板乘以 0.6 和 0.84 的系数,得到了 0.6m0.84m 的一个标定板
13、 更为精细的模型尺寸和网格获取方法见下面的步骤,首先选中一个模型,右键菜单中有导出按钮,得到
fbx
文件。
14、 得到
fbx
文件,可以用3Ds Max
导入,可以查看更细节的尺寸,也可以导出obj
等其他网格格式。