RflySim3D快捷键及控制台命令索引
快捷键索引¶
| 快捷键名称 | 简要介绍 |
|---|---|
| [F1] | 弹出快捷键帮助菜单提示 |
| [F2] | 输出RflySim内置关卡和模型索引 |
| [ESC] | 清除所有飞机 |
| [S] | 显示/隐藏飞机ID |
| [H] | 隐藏/显示所有屏幕文字 |
| [D] | 显示/隐藏当前飞机数据 |
| [M] | 切换地图 |
| [B] | 在不同飞机间切换视角焦点 |
| [C] | 切换当前飞机三维样式 |
| [P] | 开启物理碰撞引擎 |
| [V] | 跟随飞机的视角切换 |
| [N] | 切换上帝视角 |
| [T] | 飞机轨迹记录 |
| L | 显示/隐藏小地图(默认出现的是显示在右下角,在小地图上双击会显示更多可修改的内容) |
| [鼠标] | 类似游戏地图编辑器的交互方式 |
| [O] | 在鼠标击中位置创建物体 |
控制台命令索引¶
RflySim自定义全局命令¶
| 命令名称 | 简要说明 |
|---|---|
| [RflyShowTextTime] | 显示文本 |
| [RflyLoad3DFile] | 执行TXT脚本 |
| [RflySetIDLabel] | 设置CopterID标签处显示 |
| [RflySetMsgLabel] | 设置CopterID标签下方显示 |
| [RflyChangeMapbyID] | 根据ID切换地图 |
| [RflyChangeMapbyName] | 根据名称切换地图 |
| [RflyCesiumOriPos] | 修改地图原点 |
| [RflyCameraPosAngAdd] | 偏移相机 |
| [RflyCameraPosAng] | 重设相机 |
| [RflyCameraFovDegrees] | 设置视域 |
| [RflyChange3DModel] | 修改Copter样式 |
| [RflyChangeVehicleSize] | 调整Copter尺寸 |
| [RflyMoveVehiclePosAng] | 偏移Copter |
| [RflySetVehiclePosAng] | 重设Copter |
| [RflySetActuatorPWMs] | 触发蓝图接口,该功能仅限个人高级版以上 |
| [RflySetActuatorPWMsExt] | 触发扩展蓝图接口,该功能仅限个人高级版以上 |
| [RflySetCopterLine] | 定义按“[T]”键显示的无人机运行轨迹颜色 |
| [RflyDelVehicles] | 清除Copter |
| [RflyScanTerrainH] | 扫描地形 |
| [RflyReqVehicleData] | 激活数据回传 |
| [RflySetPosScale] | 全局缩放 |
| [RflyReqObjData] | 指定回传数据 |
| [RflyClearCapture] | 清空图像缓存 |
| [RflyDisableVeMove] | 拒收指定Copter数据 |
| [RflyChangeViewKeyCmd] | 模拟快捷键 |
| [RflyEnImgSync] | 切换传图模式 |
| [RflyGetBuildingInfo] | 获取场景所有物体信息 |
常用UE自带命令¶
| 命令名称 | 简要说明 |
|---|---|
| [t.Maxfps] | 限制帧率 |
| [slomo ] | 修改运行速度 |
| [HighResShot] | 自定义尺寸截图 |
| [stat fps] | 显示更新率 |
| [stat unit] | 显示各类消耗 |
| [stat rhi] | 显示GPU上的消耗细则 |
| [stat game] | 显示各进程Tick反馈时间 |
| [stat gpu] | 显示帧GPU统计 |
| [stat Engine] | 显示帧数,时间,三角面数等 |
| [stat scenerendering] | 显示Drawcall |
| [r.setRes] | 设置显示分辨率 |
| [r.Streaming.PoolSize] | 设置纹理流送池的大小 |
| [r.ForceLOD] | LOD点面数 |
| [r.ScreenPercentage] | 渲染分辨率百分比 |
| [r.ShadowQuality] | 阴影质量 |
| [r.PostProcessAAQuality] | 抗锯齿质量 |
| [r.SetNearClipPlane] | 视口近裁剪面 |
| [r.MipMapLODBias] | 纹理层级偏差 |
| [sg.TextureQuality] | 纹理质量 |
| [sg.PostProcessQuality] | 后处理质量 |
| [foliage.MaxTrianglesToRender] | 植被类模型三角面渲染数量 |
快捷键详解¶
快捷键 B¶
B(切换聚焦Copter):¶
在不同飞机间切换视角焦点;
B+数字(聚焦到第号Copter):¶
切换到第*号飞机
快捷键 C¶
C(切换当前Copter样式):¶
切换当前飞机(最新创建的)三维样式;
C+数字(切换到第号三维样式):¶
切换到第*号三维样式;
CTRL + C(切换全部Copter样式):¶
切换全部飞机三维样式
快捷键 D¶
D(显/隐Copter数据):¶
显示/隐藏当前飞机数据;
快捷键 ESC¶
ESC(清除Copter):¶
清除所有飞机(先关闭所有CopterSim)
快捷键 F1¶
F1(帮助):¶
弹出RflySim3D支持的快捷键及帮助菜单提示;
快捷键 F2¶
F2(三维资源索引):¶
输出RflySim3D现有的场景和模型资源索引表到【安装目录】/RflySimAPIs/RflySim3D下,分别存在MapData.csv和ModelData.csv中,包含场景和模型的名称、序列号等
快捷键 H¶
H(隐/显所有屏幕文字):¶
隐藏/显示所有屏幕文字;
快捷键 I¶
I+数字(切换局域网屏蔽状态,该功能仅限完整版以上):¶
l I-1模式(按下I+-1键,默认按下I键也会触发本模式) 下,会切换当前的局域网屏蔽状态。如果当前局域网是解除屏蔽的,这两个命令会使其变为屏蔽状态;反之亦然。
l I0模式下,会启动局域网屏蔽。当执行这个命令后,所有局域网上的 RflySim3D 实例将不会接收或发送数据。
l I1模式下,会解除局域网屏蔽,执行此命令后,局域网上的 RflySim3D 实例将恢复正常通信。
快捷键 M¶
M(切换地图):¶
切换地图(有CopterSim下会被切换回CopterSim的地图);
M+数字(切换到第号地图):¶
切换到第*号地图;
快捷键 MOUSE¶
鼠标左键按下拖动(调整视角角度):¶
切换视角角度;
鼠标右键按下拖动(调整视角纵向位置):¶
切换视角所在纵向yz位置
鼠标滚轮(调整视角横向位置):¶
切换视角所在横向x位置
CTRL+鼠标滚轮(调整所有Copter尺寸):¶
缩放所有飞机尺寸(多机时便于观察);
ALT+鼠标滚轮(调整当前视角Copter尺寸):¶
缩放当前视角飞机尺寸
鼠标双击(显示击中点信息):¶
显示击中点的位置、尺寸、物体等信息。注:双击后立即按下N键,可以快速将视角切换到双击位置,便于物体创建
快捷键 N¶
N(切换上帝视角):¶
切换到飞机上帝视角,
N+数字(切换到第号上帝视角):¶
切换到第*号上帝视角
0:跟随飞机视角(不随飞机姿态改变视角角度)1:固定地面视角且始终看向当前飞机、2:固定地面向北看视角、3:固定地面向南、等…;
快捷键 O¶
O+数字(生成ClassID为“”的物体):¶
在鼠标双击处生成样式ID为“*”的物体(障碍物)
快捷键 P¶
P(激活碰撞引擎)¶
开启物理碰撞引擎(会与场景物体和地面发生碰撞)
P+数字(切换通信模式)¶
开启P模式后,RflvSim3D会将障碍信息高速回传给各个CopterSim的30100系列端口 。0,1,2 3分别对应本地发送,局域网发送,局域网极简发送(只碰撞时发送)的通信模式。
l P0模式(按下P+0键,默认按下P键也会触发本模式) 下,RfvSim3D会将每个飞机的周围环境距离数据高频传输给本电脑 (不会发送局域网) 上所有CopterSim。
l P1模式下,RflvSim3D会将每个飞机周围距离数据高频传输给局域网内每个CopterSim (通过指定IP和端口的方式以提高效率)
l P2模式下,只有飞机发生碰撞过程中(和1秒内),RfvSim3D才会将障碍数据低频发送给局域网内的CopterSim (通过指定IP和端口方式) ,因此从数据频率和目标IP数来优化通信
l P3模式下(仅支持完整版),该模式在P2模式的基础上实现,增加一个事件监听所有Copter对象,通过Copter之间的相对位置来切换当前Copter P模式下的检测频率
快捷键 S¶
S(显/隐CopterID):¶
显示/隐藏飞机ID;
快捷键 T¶
T(开/关Copter轨迹记录):¶
开启或关闭飞机轨迹记录功能
T+数字(更改轨迹粗细为号):¶
开启/更改轨迹粗细为*号
快捷键 V¶
V(切换跟随视角):¶
飞机上的视角切换,0:跟随视角、1:前视摄像头、2:右视摄像头、等…;
V+数字(切换到第号跟随视角):¶
切换到第*号视角
控制台命令详解¶
HighResShot¶
HighResShot(自定义尺寸截图)¶
通过指定截图的尺寸,可以获取更高分辨率的截图。
| 参数 | 解释 |
|---|---|
| HighResShot | 截图尺寸值:用于指定截图的宽度和高度。通常使用像素为单位的数值进行指定。 |
操作示例
HighResShot 1920x1080
上述示例中,进行一个宽度为 1920 像素,高度为 1080 像素的截图。截图将以指定的尺寸保存。
RflyCameraFovDegrees¶
RflyCameraFovDegrees(float degrees)(设置视域)¶
设置摄像机的视域体 FOV 角度(Field of View 视场角)。
| 参数 | 解释 |
|---|---|
| degrees | 视域体 FOV 角度 |
此函数会修改摄像机的水平视场角,也就是上图平面上最左侧的中点与最右侧的中点与摄像机形成的角度。一般会默认该角度为90°。
操作示例
RflyCameraFovDegrees 120
将该角度改为120°。
RflyCameraPosAng¶
RflyCameraPosAng(float x, float y, float z, float roll, float pitch, float yaw)(重设相机)¶
直接设置摄像机的位置和角度。
| 参数 | 解释 |
|---|---|
| x | 摄像机在世界坐标系下的 X 轴位置 |
| y | 摄像机在世界坐标系下的 Y 轴位置 |
| z | 摄像机在世界坐标系下的 Z 轴位置 |
| roll | 摄像机绕 X 轴旋转的角度(滚转) |
| pitch | 摄像机绕 Y 轴旋转的角度(俯仰) |
| yaw | 摄像机绕 Z 轴旋转的角度(偏航) |
操作示例
RflyCameraPosAng 0 0 1000 0 0 0
将摄像机设置在世界坐标系原点上方 1000 个单位的高度,角度为默认的正前方。
RflyCameraPosAngAdd¶
RflyCameraPosAngAdd(float x, float y, float z,float roll,float pitch,float yaw)(偏移相机)¶
给摄像机的位置与角度增加一个偏移值(在当前摄像机位置和角度的基础上进行调整。
| 参数 | 解释 |
|---|---|
| x | 摄像机在 x 轴方向上的偏移值 |
| y | 摄像机在 y 轴方向上的偏移值 |
| z | 摄像机在 z 轴方向上的偏移值 |
| roll | 摄像机绕 x 轴旋转的偏移角度(滚转) |
| pitch | 摄像机绕 y 轴旋转的偏移角度(俯仰) |
| yaw | 摄像机绕 z 轴旋转的偏移角度(偏航) |
操作示例
RflyCameraPosAngAdd 0 0 -10 0 -30 0
让摄像机向上移动 10 米,并且向下俯视 30 度。
RflyCesiumOriPos¶
RflyCesiumOriPos(double lat, double lon, double Alt, double SolarTime)(修改地图原点)¶
修改 Cesium 地图的原点位置(需要 Cesium 全球大场景),允许设置地图原点的经纬高坐标。
| 参数 | 解释 |
|---|---|
| lat | 地图原点的纬度值 |
| lon | 地图原点的经度值 |
| Alt | 地图原点的海拔值 |
| SolarTime | 地图原点的太阳时 |
操作示例
RflyCesiumOriPos 39.9042 116.4074 50 12
这将设置地图原点位置为北京的经纬度坐标。
注意
使用该函数之前,需要进入使用了 Cesium 插件的地图,并且最好处于联网状态以加载在线地图图像。
经纬度范围为[-180, 180]和[-90, 90]。确保提供的经纬度值在有效范围内。
RflyChange3DModel¶
RflyChange3DModel(int CopterID, int veTypes=0)(修改Copter样式)¶
修改一个无人机的模型样式。
| 参数 | 解释 |
|---|---|
| CopterID | 无人机的 ID,用于指定要修改的无人机 |
| veTypes | 三维模型样式的编号。这个参数是可选的,默认为 0。可以指定不同的数字来对应不同的模型样式。 |
操作示例
例如这里无人机的ID为1000,那么想要将它的样式变为1号,可以使用命令。
RflyChange3DModel 1000 1
RflyChangeMapbyID¶
RflyChangeMapbyID(int id)(根据ID切换地图)¶
根据地图的 ID 切换 RflySim3D 场景地图。
| 参数 | 解释 |
|---|---|
| id | 地图 ID |
操作示例
RflyChangeMapbyID 5
快速切换到5号地图。
RflyChangeMapbyName¶
RflyChangeMapbyName(String txt)(根据名称切换地图)¶
根据地图名切换 RflySim3D 场景地图。
| 参数 | 解释 |
|---|---|
| name | 地图名 |
操作示例
RflyChangeMapbyName 3Ddisplay
切换到地图3DDisplay。
RflyChangeVehicleSize¶
RflyChangeVehicleSize(int CopterID, float size=0)(调整Copter尺寸)¶
修改一个无人机的缩放大小。
| 参数 | 解释 |
|---|---|
| CopterID | 无人机的 ID,用于指定要修改的无人机 |
| size | 缩放的倍数。这个参数是可选的,默认为 0,表示不进行缩放。通过指定一个正数倍数来使无人机变大,指定一个小于 1 的倍数来使无人机变小。 |
操作示例
假设你想将无人机ID为1000的无人机大小增大到原来的10倍。
RflyChangeVehicleSize(1000, 10)
RflyChangeViewKeyCmd¶
RflyChangeViewKeyCmd(String key, int num)(模拟快捷键)¶
模拟在按一个快捷键 + 输入一个数字的效果。
| 参数 | 解释 |
|---|---|
| key | 快捷键 |
| num | 数字 |
操作示例
例如,按快捷键M+数字就可以切换到指定ID的地图,那么可以输入命令切换到5号地图。
RflyChangeViewKeyCmd M 5
RflyClearCapture¶
RflyClearCapture(int seqID)(清空图像缓存)¶
该函数会清空指定seqID的图像传感器捕捉的图像的内存,如果seqID<0则清空所有相机的图像的内存数据。
| 参数 | 解释 |
|---|---|
| seqID | 相机序号 |
操作示例
RflyClearCapture -1
RflyDelVehicles¶
RflyDelVehicles(FString CopterIDList)(清除Copter)¶
该函数可以根据 ID 删除当前存在于场景的无人机。RflySim3D 并不会主动删除场景中的无人机,哪怕已经没有接收到它们的数据了。(这也是为什么关闭 CopterSim后无人机并没有从场景中消失),必须明确的要求 RflySim3D 移除这些无人机。
| 参数 | 解释 |
|---|---|
| CopterIDList | 一个 FString 类型的参数,用于指定要删除的无人机的 ID列表。多个 ID 之间使用逗号分隔 |
操作示例
假设在场景中存在两架无人机,其 ID 分别为 1000 和 1001。如果你想删除这两架无人机,你可以使用以下命令
RflyDelVehicles("1000,1001)"
注意
在删除无人机之前,应当确保停止向 RflySim3D 发送这些无人机的数据,以避免可能导致无人机被重新创建的情况发生。
RflyDisableVeMove¶
RflyDisableVeMove(FString CopterIDList, int disable)(拒收指定Copter数据)¶
使用该函数可以让RflySim3D根据ID拒绝接收一些无人机的数据,相当于禁止了这些ID的Copter的创建、移动、姿态变化。
| 参数 | 解释 |
|---|---|
| CopterIDList | 飞机ID列表,以逗号分隔。用于指定要禁止接收信息的飞机ID。 |
| disable | 禁用标志,控制是否禁用指定ID的飞机的信息。当值为 1 时,禁用;当值为 0 时,取消禁用。 |
操作示例
打开在“\Desktop\RflyTools”打开软件在环仿真SITLRun,使用QGC让无人机处于移动状态,然后我们使用命令:
RflyDisableVeMove 1 1
会发现QGC中无人机仍在移动,CopterSim中的模拟坐标仍在变化,但 RflySim3D中的无人机停下来了。
RflyEnImgSync¶
RflyEnImgSync(int isEnable)(切换传图模式)¶
启用同步或异步发图模式。
| 参数 | 解释 |
|---|---|
| isEnable | 值为0关闭异步模式,值为1启用同步模式 |
操作示例
RflyEnImgSync 1
RflyGetBuildingInfo¶
RflyGetBuildingInfo(int type, int debug)(获取场景所有物体信息)¶
获取场景中所有物体的信息。
| 参数 | 解释 |
|---|---|
| type | 物体类型。1:Actor;2:StaticMesh |
| debug | 调试显示。是否绘制包围盒(draw boundingbox),1为绘制,0为不绘制 |
操作示例
RflyGetBuildingInfo 1 1
获取场景中所有 Actor 类型物体的信息,并在场景中绘制其包围盒。
RflyGetBuildingInfo 2 0
获取场景中所有 StaticMesh 类型物体的信息,不绘制包围盒。
切到导入的地图,按~打开控制台,输入RflyGetBuildingInfo 2 1,在PX4PSP\RflySimUE5\RflySim3D目录下面找到这个关卡名_Building_Info表格,里面记录了所有actorname

RflyLoad3DFile¶
RflyLoad3DFile(FString FileName)(执行TXT脚本)¶
加载并执行路径下的 TXT 脚本文件。
| 参数 | 解释 |
|---|---|
| FileName | 加载的文件路径 |
操作示例
例如,我们在D盘创建一个“Test.txt”文件,在其中分行输入控制台命令,然后打开RflySim3D,输入控制台命令
RflyLoad3DFile "C:\foo.txt"
RflyMoveVehiclePosAng¶
RflyMoveVehiclePosAng(int CopterID, int isFitGround, float x, float y, float z, float roll, float pitch, float yaw)(偏移Copter)¶
给无人机的位置与角度设置一个偏移值,isFitGround 设置无人机是否适应地面。
| 参数 | 解释 |
|---|---|
| CopterID | 无人机的 ID,用于指定要设置偏移的无人机 |
| isFitGround | 是否适应地面高度。如果设置为 1,则无人机的 z 坐标会根据地形的高度进行调整;如果设置为 0,则无人机的 z 坐标保持不变。 |
| x | 位置偏移的 x 轴分量。通过设置这个参数,可以将无人机在三维空间中沿着 x 轴移动指定的距离。 |
| y | 位置偏移的 y 轴分量。通过设置这个参数,可以将无人机在三维空间中沿着 y 轴移动指定的距离。 |
| z | 位置偏移的 z 轴分量。通过设置这个参数,可以将无人机在三维空间中沿着 z 轴移动指定的距离。 |
| roll | 旋转角度的欧拉角分量。通过设置这个参数,可以使无人机绕其自身的 x 轴旋转指定的角度。 |
| pitch | 旋转角度的欧拉角分量。通过设置这个参数,可以使无人机绕其自身的 y 轴旋转指定的角度。 |
| yaw | 旋转角度的欧拉角分量。通过设置这个参数,可以使无人机绕其自身的 z 轴旋转指定的角度。 |
操作示例
RflyMoveVehiclePosAng 1000 1 -10 -10 -10 0 -20 0
可以让飞机移动(-10,-10,-10)米,并且pitch角度-20°。如果isFitGround设置为1,则无人机的z坐标会根据地形的高度决定。
RflyReqObjData¶
RflyReqObjData(int opFlag, FString objName, FString colorStr)(指定回传数据)¶
请求 RflySim3D 场景中的物体数据。该函数类似RflyReqVehicleData函数,它也会回传三维场景中物体的一些数据。但它一次只回传一个指定目标的数据。
| 参数 | 解释 |
|---|---|
| opFlag | 操作标志,用于指定返回的数据类型 |
| objName | 物体名称或相机 ID,用于指定要获取数据的目标物体或相机。对于相机数据,可以指定相机的 ID。对于物体数据,可以指定物体的名称 |
| colorStr | 颜色字符串,可选参数,用于指定数据的颜色 |
| opFlag | 说明 |
|---|---|
| 0 | 返回指定 ID 的相机(Camera)数据。 |
| 1 | 返回指定 ID 的飞机(Copter)数据。 |
| 2 | 返回指定名称的物体(Object)数据。 |
| 20 | 清除所有相机。 |
| 21 | 清除所有飞机。 |
| 22 | 清除所有物体。 |
| 23 | 清除所有飞机和物体。 |
| 24 | 清除所有相机、物体和飞机。 |
| 10 | 删除一个相机。 |
| 11 | 删除一个飞机。 |
| 12 | 删除一个物体。 |
当 opFlag 为 0 时,该函数会返回指定 ID(objName=seqID)的用于捕获图像的相机数据。相机数据结构如下所示:
struct CameraData {
int checksum = 0; // 校验和,常数 1234567891
int SeqID; // 相机序号
int TypeID; // 相机类型
int DataHeight; // 图像像素高度
int DataWidth; // 图像像素宽度
float CameraFOV; // 相机视场角
float PosUE[3]; // 相机的中心位置
float angEuler[3]; // 相机的欧拉角
double timestmp; // 时间戳
};
当 opFlag 为 1 时,该函数会返回指定 ID 的飞机(objName=CopterID)的数据。飞机数据结构如下所示
struct CoptReqData {
int checksum = 0; // 校验和,常数 1234567891
int CopterID; // 飞机 ID
float PosUE[3]; // 飞机的中心位置(人为三维建模时指定,姿态坐标轴,不一定在几何中心)
float angEuler[3]; // 飞机的欧拉角
float boxOrigin[3]; // 物体几何中心坐标
float BoxExtent[3]; // 物体外框长宽高的一半
double timestmp; // 时间戳
};
当 opFlag 为 2 时,该函数会返回指定 ID(objName= seqID/ ObjName[32])的物体的数据。物体数据结构如下所示:
struct ObjReqData {
int checksum = 0; // 校验和,常数 1234567891
int seqID = 0;
float PosUE[3]; // 物体的中心位置(人为三维建模时指定,姿态坐标轴,不一定在几何中心)
float angEuler[3]; // 物体的欧拉角
float boxOrigin[3]; // 物体几何中心坐标
float BoxExtent[3]; // 物体外框长宽高的一半
double timestmp; // 时间戳
char ObjName[32] = { 0 }; // 碰物体的名字
};
操作示例
当opFlag==0时,它可以根据请求创建一个相机用于捕获图像,而相机的数据可以通过该函数来获得:
RflyReqObjData 0 0 FFFFFF
当opFlag==1时,打开RflySim3D,鼠标双击地面+按下字母O+数字3,创建一个ID飞机(ID默认为1000),输入命令
RflyReqObjData 1 1000 FFFFFF
当opFlag==2时,在RflySim3D中,并不是所有物体都是Copter类的对象(例如地形、障碍、建筑等),而此接口可以用于获取这些非Copter的物体的信息。打开RflySim3D,双击地面,我们可以看到鼠标击中地面后,屏幕上输出了一些信息,其中第一个单词表示击中物体的名字,也就是说“地形的名字为Landscape_1”
然后我们使用命令
RflyReqObjData 2 Landscape_1 FFFFFF
表示我们想知道名为“Landscape_1”的对象的信息。
RflyReqVehicleData¶
RflyReqVehicleData(FString isEnable)(激活数据回传)¶
激活数据回传模式,在该模式下,一旦 RflySim3D 收到 Copter 的更新数据,它会再次将相关数据发送出来。
| 参数 | 解释 |
|---|---|
| isEnable | 0 表示不激活数据回传模式,1 表示激活数据回传模式 |
默认情况下,RflySim3D 只接收来自外部的 Copter 的信息,而收到的 UDP 数据的
结构类似于以下的结构体:
struct SOut2SimulatorSimple {
int checkSum;
int copterID;
int vehicleType;
float MotorRPMSMean;
float PosE[3];
float AngEuler[3];
}
该结构体的成员变量和类型:
| 成员变量 | 解释 |
|---|---|
| checkSum | 整型变量,表示数据包的校验码。 |
| copterID | 整型变量,表示飞机的 ID 号。 |
| vehicleType | 整型变量,表示飞机的类型。 |
| MotorRPMSMean | 浮点型变量,表示电机转速的平均值。 |
| PosE | 包含 3 个浮点型变量的数组,表示飞机的位置,三个元素分别是 X、Y 和 Z 坐标。 |
| AngEuler | 包含 3 个浮点型变量的数组,表示飞机的欧拉角,三个元素分别是 Roll、Pitch 和 Yaw。 |
RflySim3D 默认不会发送三维场景中无人机的位置和姿态信息,但是如果有需要 的话,可以调用该命令 "RflyReqVehicleData 1"。当 RflySim3D 收到此命令时,它 将进入 "数据回传模式",开始使用 UDP 发送请求的 Copter 的数据。在该模式下, 一旦 RflySim3D 收到 Copter 的更新数据,它会再次将相关数据发送出来。具体发送的数据结构如 reqVeCrashData,包含以下字段
| 成员变量 | 解释 |
|---|---|
| checkSum | 数据包的校验码(固定值 1234567897) |
| copterID | 当前飞机的 ID 号 |
| vehicleType | 当前飞机的样式 |
| CrashType | 碰撞物体类型,-2 表示地面,-1 表示场景静态物体,0 表示无碰撞,1 及以上表示被碰飞机的 ID 号 |
| runnedTime | 当前飞机的时间戳 |
| VelE | 当前飞机的速度 |
| PosE | 当前飞机的位置 |
| CrashPos | 碰撞点的坐标 |
| targetPos | 被碰物体的中心坐标 |
| AngEuler | 当前飞机的欧拉角 |
| MotorRPMS | 当前飞机的电机转速 |
| ray | 飞机的前后左右上下扫描线 |
| CrashedName | 被碰物体的名字 |
操作示例
RflyReqVehicleData 1
RflyScanTerrainH¶
RflyScanTerrainH(float xLeftBottom(m), float yLeftBottom(m), float xRightTop(m), float yRightTop(m), float scanHeight(m), float scanInterval(m))(扫描地形)¶
该函数可以扫描三维地形,生成一个 png 的高度图与 txt,CopterSim 程序会需要它才知道 UE 有哪些地形、以及它们的高程。但该函数需要知道地形的大小和高度、扫描的精度。
| 参数 | 解释 |
|---|---|
| xLeftBottom、yLeftBottom | 地形的左下角坐标,以米为单位。这指定了地形扫描的起始位置 |
| xRightTop、yRightTop | 地形的右上角坐标,以米为单位。这指定了地形扫描的结束位置 |
| scanHeight | 地形的最大高度限制,以米为单位。该参数用于指定地形的高度范围,以便生成高度图和文本文件 |
| scanInterval | 扫描采样间隔,以米为单位。该参数决定了扫描时对地形进行采样的精度,也就是采样点之间的距离 |
操作示例
RflyScanTerrainH(-1000, -1000, 1000, 1000, 200, 1)
这个命令指定了地形的左下角坐标为 (-1000, -1000) 米,右上角坐标为 (1000, 1000)米。地形高度限制为最大不超过 200 米。扫描间隔为每隔 1 米进行采样。执行该命令后,RflySim3D 将扫描指定范围内的地形,并生成一个高度图的 PNG图像文件和一个文本文件(TXT 格式),可以在“\PX4PSP\RflySim3D”找到此地图的 2 个同名文件。
RflySetActuatorPWMs¶
RflySetActuatorPWMs(int CopterID, float pwm1, float pwm2, float pwm3, float pwm4, float pwm5, float pwm6, float pwm7, float pwm8)(触发蓝图接口,该功能仅限个人高级版以上)¶
传入 8 个值,并触发目标无人机的蓝图的接口函数。
| 参数 | 解释 |
|---|---|
| CopterID | 无人机的 ID,用于指定要设置电机数据的无人机。 |
| pwm1、pwm2、pwm3、pwm4、pwm5、pwm6、pwm7、pwm8 | 8 个 电机数据。这些数据控制着无人机的各个旋翼或其他致动器的旋转速度或其他行为。具体含义需要参考相关蓝图模型的设置。 |
操作示例
假设你已通过RflySim3D创建了一个ID为1000的无人机,并且希望将该无人机的螺旋桨开始转动,其中前四个电机数据控制着旋转速度为每秒10单位。
RflySetActuatorPWMs(1000, 10, 10, 10, 10, 0, 0, 0, 0)
RflySetActuatorPWMsExt¶
RflySetActuatorPWMsExt(int CopterID, float pwm9, float pwm10, float pwm11, float pwm12, float pwm13, float pwm14, float pwm15, float pwm16, float pwm17, float pwm18, float pwm19, float pwm20, float pwm21, float pwm22, float pwm23, float pwm24)(触发扩展蓝图接口,该功能仅限个人高级版以上)¶
用于传入 16 个值,并触发目标无人机的蓝图接口函数。
| 参数 | 解释 |
|---|---|
| CopterID | 无人机的 ID,用于指定目标无人机调用蓝图接口函数 |
| pwm9 - pwm24 | 16 个参数,作为数据传递给目标无人机的蓝图接口函数。具体的含义和作用取决于目标无人机的蓝图设计 |
操作示例
RflySetActuatorPWMsExt(1000, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
注意
此函数需要完整版本的 RflySim 来使用,并且目标无人机必须是自定义蓝图类的对象。这16维数据会直接传递给目标无人机的蓝图类中的 "ActuatorInputsExt" 函数,而RflySim3D不会默认处理这些数据。通过调用 "RflySetActuatorPWMsExt" 函数,你可以传递各种控制数据到目标无人机的蓝图中,从而实现各种控制效果。这个函数提供了更多的参数,以便用于灵活的控制和交互。
RflySetCopterLine¶
RflySetCopterLine(int CopterID, FString colorStr)(定义轨迹颜色)¶
传入 8 个值,并触发目标无人机的蓝图的接口函数。
| 参数 | 解释 |
|---|---|
| CopterID | 无人机的 ID,用于指定要设置轨迹颜色的载具。 |
| colorStr | 通过指定16进制颜色代码来设置目标飞机轨迹颜色的。16进制颜色代码是以 #RRGGBB 的形式表示。其中:RR 表示红色分量,取值范围是 00 到 FF。GG 表示绿色分量,取值范围是 00 到 FF。BB 表示蓝色分量,取值范围是 00 到 FF。每个颜色分量有 256 种可能的值,总的颜色组合数可以计算为:256×256×256=16,777,216 |
操作示例
假设你已通过RflySim3D创建了一个ID为1的无人机,并且希望定义该无人机的轨迹颜色为红色,可以键入如下指令
RflySetCopterLine(1, "FF0000");之后可以通过在RflySim3D中按下T键来显示轨迹
基准色¶
红色: RflySetCopterLine(CopterID, "FF0000")
绿色: RflySetCopterLine(CopterID, "00FF00")
蓝色: RflySetCopterLine(CopterID, "0000FF")
黄色: RflySetCopterLine(CopterID, "FFFF00")
青色: RflySetCopterLine(CopterID, "00FFFF")
紫色: RflySetCopterLine(CopterID, "FF00FF")
白色: RflySetCopterLine(CopterID, "FFFFFF")
黑色: RflySetCopterLine(CopterID, "000000")
基准色之间的渐变色¶
要在这几种颜色之间设置中间的渐变颜色,可以通过调整 RGB 的 16 进制值来实现。以下是每种颜色之间的过渡颜色代码:
- 红色 (FF0000) 和 黄色 (FFFF00)
这两种颜色只需调整绿色分量,从 00 增加到 FF。
| 颜色名称 | 16进制代码 | 示例代码 |
|---|---|---|
| 红色 | FF0000 | RflySetCopterLine(CopterID, "FF0000") |
| 橙色 | FF7F00 | RflySetCopterLine(CopterID, "FF7F00") |
| 黄色 | FFFF00 | RflySetCopterLine(CopterID, "FFFF00") |
- 黄色 (FFFF00) 和 绿色 (00FF00)
这两种颜色需要减少红色分量,从 FF 到 00。
| 颜色名称 | 16进制代码 | 示例代码 |
|---|---|---|
| 黄色 | FFFF00 | RflySetCopterLine(CopterID, "FFFF00") |
| 黄绿色 | 7FFF00 | RflySetCopterLine(CopterID, "7FFF00") |
| 绿色 | 00FF00 | RflySetCopterLine(CopterID, "00FF00") |
- 绿色 (00FF00) 和 青色 (00FFFF)
这两种颜色需要增加蓝色分量,从 00 到 FF。
| 颜色名称 | 16进制代码 | 示例代码 |
|---|---|---|
| 绿色 | 00FF00 | RflySetCopterLine(CopterID, "00FF00") |
| 蓝绿色 | 00FF7F | RflySetCopterLine(CopterID, "00FF7F") |
| 青色 | 00FFFF | RflySetCopterLine(CopterID, "00FFFF") |
- 青色 (00FFFF) 和 蓝色 (0000FF)
这两种颜色需要减少绿色分量,从 FF 到 00。
| 颜色名称 | 16进制代码 | 示例代码 |
|---|---|---|
| 青色 | 00FFFF | RflySetCopterLine(CopterID, "00FFFF") |
| 浅蓝色 | 007FFF | RflySetCopterLine(CopterID, "007FFF") |
| 蓝色 | 0000FF | RflySetCopterLine(CopterID, "0000FF") |
- 蓝色 (0000FF) 和 紫色 (FF00FF)
这两种颜色需要增加红色分量,从 00 到 FF。
| 颜色名称 | 16进制代码 | 示例代码 |
|---|---|---|
| 蓝色 | 0000FF | RflySetCopterLine(CopterID, "0000FF") |
| 紫蓝色 | 7F00FF | RflySetCopterLine(CopterID, "7F00FF") |
| 紫色 | FF00FF | RflySetCopterLine(CopterID, "FF00FF") |
- 紫色 (FF00FF) 和 红色 (FF0000)
这两种颜色需要减少蓝色分量,从 FF 到 00。
| 颜色名称 | 16进制代码 | 示例代码 |
|---|---|---|
| 紫色 | FF00FF | RflySetCopterLine(CopterID, "FF00FF") |
| 粉红色 | FF007F | RflySetCopterLine(CopterID, "FF007F") |
| 红色 | FF0000 | RflySetCopterLine(CopterID, "FF0000") |
RflySetIDLabel¶
RflySetIDLabel(int CopterID,FString Text, FString colorStr, float size)(设置CopterID标签处显示)¶
设置一个 Copter 的头顶 ID 位置的显示内容(会替换原先按 S 键默认显示的 Copte rID)。
| 参数 | 解释 |
|---|---|
| CopterID | 要设置 ID 位置内容的 Copter 的 ID |
| Text | 要在 ID 位置显示的文本内容 |
| colorStr | 文本的颜色。可以用表示颜色值的字符串进行指定,例如 "FF0000" 表示红色,"00FF00" 表示绿色 |
| size | 文本的大小或缩放 |
操作示例
RflySetIDLabel 1000 "Hi, here's the test string" FFFF00 20
修改ID为1000的Copter上的标签的内容与颜色以及标签字体大小,这个颜色是16进制的RGB代码,FFFF00表示红色与绿色的值为255,蓝色的值为0,它们混合后就变成了黄色。效果如下

RflySetMsgLabel¶
RflySetMsgLabel(int CopterID, FString Text, FString colorStr, float size, float time, int flag)(设置CopterID标签下方显示)¶
设置一个 Copter 头顶的 Message 显示的内容。
| 参数 | 解释 |
|---|---|
| CopterID | 要设置 Message 显示内容的 Copter 的 ID |
| Text | 要在 Message 显示的文本内容 |
| colorStr | 文本的颜色。可以用表示颜色值的字符串进行指定,例如 "FF0000" 表示红色,"00FF00" 表示绿色 |
| size | 文本的大小 |
| time | 文本的显示时间,以秒为单位。在指定的时间结束后,消息将消失 |
| flag | 操作的消息行数。共有 5 个消息标签,当 flag 不为 0 时表示新增一个消息 |
操作示例
RflySetMsgLabel 1000 "Hi, here's the test string" FFFF00 20 5 -1
将在 ID 标签下方显示一个紫色的文本字符串。这样使用 RflySetMsgLabel 函数,可以设置 Copter 的 Message 显示内容。您可以指定不同的参数来创建多行的 Message,每行消息可以在指定的时间内显示并消失。通过设置不同的 flag 值(-1--5,或1-5),可以操作不同的行数来更新或新增消息内容。算上原本的ID标签最多6行

将flag置为0会直接修改ID标签,与[RflySetIDLabel]效果相同
RflySetMsgLabel 1000 "Hi, here's the test string" FFFF00 20 5 0
RflySetPosScale¶
RflySetPosScale(float scale)(全局缩放)¶
全局位置的缩放。
| 参数 | 解释 |
|---|---|
| scale | 位置缩放值 |
该函数会影响通过 UDP 传入 RflySim3D 的 Copter 的位置信息,默认 scale==1。
RflySim3D 接收的结构体如下:
struct SOut2SimulatorSimple {
int checkSum;
int copterID;
int vehicleType;
float MotorRPMSMean;
float PosE[3]; //包含 3 个浮点型变量的数组,表示飞机的位置,三个元素分别是 X、Y 和 Z 坐标。
float AngEuler[3];
}
RflySim3D 在收到位置信息后还会进行一个处理:“PosE[i]= PosE[i]*scale”,进行一个全局的缩放变换。
操作示例
RflySetPosScale 100
该函数主要用于单位统一,RflySim3D 中的空间单位是 cm,如果外部传入的数据
的单位是 m,则可以使用命令
这样就不必额外进行单位转换的逻辑了。
RflySetVehiclePosAng¶
RflySetVehiclePosAng(int CopterID, int isFitGround, float x, float y, float z, float roll,float pitch, float yaw)(重设Copter)¶
设置无人机的位置与角度。
| 参数 | 解释 |
|---|---|
| CopterID | 无人机的 ID,用于指定要设置位置和角度的无人机。 |
| isFitGround | 是否适应地面高度。如果设置为 1,则无人机的 z 坐标会根据地形的高度进行调整;如果设置为 0,则无人机的 z 坐标保持不变。 |
| x | 位置的 x 轴分量。 |
| y | 位置的 y 轴分量。 |
| z | 位置的 z 轴分量。 |
| roll | 旋转角度的欧拉角分量。沿着无人机的 x 轴旋转的角度。 |
| pitch | 旋转角度的欧拉角分量。沿着无人机的 y 轴旋转的角度。 |
| yaw | 旋转角度的欧拉角分量。沿着无人机的 z 轴旋转的角度。 |
操作示例
假设你想直接将无人机ID为1000的无人机设置到位置(-10, -10, -10)米,并将其设置为pitch角度为-20°。你可以使用以下命令:
RflySetVehiclePosAng(1000, 1, -10, -10, -10, 0, -20, 0)
RflyShowTextTime¶
RflyShowTextTime(String txt, float time)(显示文本)¶
让 UE 显示 txt,持续 time 秒。
| 参数 | 解释 |
|---|---|
| txt | 要显示的文字 |
| time | 显示时间,单位为秒 |
操作示例
RflyShowTextTime hello,world 5
若显示文本中带空格
RflyShowTextTime "hello world" 5
可以通过python接口 sendRflyShowTextTime 直接发送要显示的txt
若需通过python接口 sendUE4Cmd 发送,命令字符串形如:'RflyShowTextTime "txt" time'
foliage.MaxTrianglesToRender¶
foliage.MaxTrianglesToRender(植被类模型三角面渲染数量)¶
植被类型的模型三角面渲染数量(Foliage Triangles to Render)是指在仿真场景中绘制植被类型(foliage)模型时,限制三角面数量的设置。
| 参数 | 解释 |
|---|---|
| 三角面数量 | 用于设置允许绘制的植被模型的三角面数量。 |
操作示例
以下是将植被模型的三角面数量设置为最低(0)的示例:
foliage.MaxTrianglesToRender 0
r.ForceLOD¶
r.ForceLOD(LOD点面数)¶
更改场景的 Level of Detail (LOD) 设置,降低点面数。LOD 是一种用于管理对象显示细节的技术,可以在不同距离和相机角度下使用不同的模型和纹理细节级别,以平衡性能和视觉效果。
| 参数 | 解释 |
|---|---|
| LOD 级别 | 要强制应用的 LOD 级别。通常使用 0(维数最高的级别)到最大 LOD 级别的数值进行表示。 |
注意
在复杂场景中,修改 LOD 设置可能导致地形或其他对象的显示出现变化。
操作示例
将所有 LOD 强制设置为 0,这将把所有对象的 LOD 强制设置为最高级别,即禁用 LOD。这意味着将始终以最高细节级别呈现对象,无论其使用的距离或相机角度如何。
r.ForceLOD 0
类似地,将 LOD 设置为 -1,这将关闭所有对象的 LOD,将使用最低的细节级别呈现对象。
r.ForceLOD -1
r.MipMapLODBias¶
r.MipMapLODBias(纹理层级偏差)¶
调整纹理的 MipMap 层级偏差(LOD Bias)。MipMap 是一种用于提供不同细节级别的纹理预渲染的技术。
| 参数 | 解释 |
|---|---|
| LOD Bias 值 | 表示纹理的 MipMap 层级偏差。较高的 LOD Bias 值表示使用更低分辨率的 MipMap 层级,降低纹理显示的细节级别。 |
操作示例
以下是将纹理的 MipMap 层级偏差设置为 2 的示例:
r.MipMapLODBias 2
r.PostProcessAAQuality¶
r.PostProcessAAQuality(抗锯齿质量)¶
控制后处理抗锯齿效果的质量级别。
| 参数 | 解释 |
|---|---|
| 质量级别 | 指定抗锯齿质量级别。 |
| 质量级别 | 解释 |
|---|---|
| 0 | 禁用后处理抗锯齿 |
| 1 | 低质量后处理抗锯齿 |
| 2 | 中等质量后处理抗锯齿 |
| 3 | 高质量后处理抗锯齿 |
操作示例
禁用后处理抗锯齿:这会完全禁用后处理抗锯齿效果,以提高性能。但图像可能会出现锯齿或边缘不平滑的现象。
r.PostProcessAAQuality 0
r.ScreenPercentage¶
r.ScreenPercentage(渲染分辨率百分比)¶
控制渲染时使用的分辨率百分比。
| 参数 | 解释 |
|---|---|
| 分辨率百分比(Resolution Percentage) | 指定分辨率百分比。通常使用整数值表示,例如 100 表示原始分辨率,50 表示降低到原始分辨率的一半,200 表示增加到原始分辨率的两倍。 |
操作示例
将渲染分辨率设置为原始分辨率的 75%:
r.ScreenPercentage 75
r.SetNearClipPlane¶
r.SetNearClipPlane(视口近裁剪面)¶
设置摄像机的近裁剪平面(Near Clip Plane)。
| 参数 | 解释 |
|---|---|
| 近裁剪平面距离 | 以摄像机空间中的单位来表示,通常为厘米。 |
操作示例
以下是将近裁剪平面设置为10个单位距离的示例:
r.SetNearClipPlane 10
r.ShadowQuality¶
r.ShadowQuality(阴影质量)¶
控制阴影的质量级别。
| 参数 | 解释 |
|---|---|
| 质量级别 | 指定阴影质量级别。 |
| 质量级别 | 解释 |
|---|---|
| 0 | 无阴影 |
| 1 | 低阴影 |
| 2 | 中阴影 |
| 3 | 高阴影 |
操作示例
禁用阴影:完全禁用游戏中的阴影以提高性能。
r.ShadowQuality 0
r.Streaming.PoolSize¶
r.Streaming.PoolSize¶
设置纹理流送池的大小。纹理流送池是用于动态加载和卸载纹理资源的内存池,以优化性能和资源管理。
| 参数 | 解释 |
|---|---|
| 池大小(Pool Size) | 指定纹理流送池的大小。以MB为单位来表示大小。 |
注意
默认分配1G显存, 不知道如何设定,给零值就行r.Streaming.PoolSize 0, 当屏幕左上角出现 "TEXTURE STREAMING POOL OVER ***MiB BUDGET" 时就需要修改这个,显示提示时,会导致部分贴图加载lod变化,画面会模糊
操作示例 (修改纹理流送池大小)
设置流式传输池大小为 4096 MB:
r.Streaming.PoolSize 4096MB
r.setRes¶
r.setRes(设置显示分辨率)¶
设置游戏的显示分辨率。
| 参数 | 解释 |
|---|---|
| [Width]x[Height] | 分辨率参数:用于指定游戏的显示分辨率。例如,1280x720 表示宽度为 1280 像素,高度为 720 像素。 |
| [Fullscreen/Windowed] | 显示模式参数:全屏模式(Fullscreen)或窗口模式(Windowed),用于指定游戏的显示模式。 |
注意
实际支持的分辨率和显示模式取决于显卡、显示器以及RflySim3D本身设置。
操作示例
r.setRes 1920x1080 Fullscreen
上述示例中,设置分辨率为 1920x1080,全屏模式。
r.setRes 1280x720 Windowed
上述示例中,设置分辨率为 1280x720,窗口模式。
sg.PostProcessQuality¶
sg.PostProcessQuality(后处理质量)¶
后期处理(Postprocessing)是在渲染完场景之后对图像进行处理的过程,可以对图像进行颜色校正、模糊、光照效果等调整,以增强场景的视觉效果。
| 参数 | 解释 |
|---|---|
| 质量级别 | 决定了后期处理效果的细节和计算复杂度。 |
操作示例
以下是将后期处理质量级别设置为最低(级别 0)的示例:
sg.PostProcessQuality 0
sg.TextureQuality¶
sg.TextureQuality(纹理质量)¶
纹理质量级别决定了纹理的分辨率和细节,对游戏的视觉效果和性能都有影响。
| 参数 | 解释 |
|---|---|
| 纹理质量级别 | 用于设置纹理质量级别。 |
操作示例
以下是将纹理质量级别设置为最低(级别 0)的示例:
sg.TextureQuality 0
slomo_¶
slomo (修改运行速度)¶
通过调整运行速度,加快或减慢应用程序的运行。
| 参数 | 解释 |
|---|---|
| slomo | 运行速度值:用于指定运行的速度。默认值为 1,表示正常速度。较小的值会减慢速度,较大的值会加快速度 |
操作示例
slomo 0.5
上述示例中,将运行速度设置为正常速度的一半。
slomo 2
上述示例中,将运行速度设置为正常速度的两倍。
stat_Engine¶
stat Engine(显示帧数,时间,三角面数等)¶
在RflySim3D中显示引擎相关的统计信息。通过使用该命令,可以实时监测引擎的性能表现和其他相关信息。
| 参数 | 解释 |
|---|---|
| 无参数 | 该命令只用于显示引擎的统计信息,不需要额外的参数进行指定 |
操作示例
stat Engine
上述示例中,启用引擎相关的统计信息显示。RflySim3D中将显示包括帧率、时间、三角面数、贴图内存使用量和物理模拟的统计数据等。
stat_fps¶
stat fps(显示更新率)¶
通过使用该命令,可以实时监测仿真程序的帧率表现。
| 参数 | 解释 |
|---|---|
| 无参数 | 该命令只用于显示帧率信息,不需要额外的参数进行指定 |
操作示例
stat fps
上述示例中,启用帧率显示。RflySim3D中将显示当前的帧率信息, 再次输入该命令就会隐藏帧率显示。
stat_game¶
stat game(显示各进程Tick反馈时间)¶
在RflySim3D中显示程序逻辑和性能的统计信息。通过使用该命令,可以实时监测RflySim3D的逻辑操作和性能表现。
| 参数 | 解释 |
|---|---|
| 无参数 | 该命令只用于显示RflySim3D逻辑和性能统计信息,不需要额外的参数进行指定 |
操作示例
stat game
上述示例中,启用RflySim3D逻辑和性能统计信息显示。RflySim3D中将显示RflySim3D逻辑帧数、RflySim3D更新时间和渲染时间等统计数据。
stat_gpu¶
stat gpu(显示帧GPU统计)¶
在RflySim3D中显示 GPU(显卡)的性能统计信息。通过使用该命令,可以实时监测RflySim3D中 GPU 的性能表现。
| 参数 | 解释 |
|---|---|
| 无参数 | 该命令只用于显示 GPU 的性能统计信息,不需要额外的参数进行指定 |
操作示例
stat gpu
上述示例中,启用 GPU 的性能统计信息显示。RflySim3D中将显示 GPU 的使用率、渲染时间和 GPU 内存使用情况等统计数据。
stat_rhi¶
stat rhi(显示GPU上的消耗细则)¶
在RflySim3D中显示渲染接口(Render Hardware Interface)的性能统计信息。通过使用该命令,可以实时监测RflySim3D使用的渲染接口的性能表现。
| 参数 | 解释 |
|---|---|
| 无参数 | 该命令只用于显示渲染接口的性能统计信息,不需要额外的参数进行指定 |
操作示例
stat rhi
上述示例中,启用渲染接口性能统计信息显示。RflySim3D中将显示渲染接口的性能数据,如渲染帧数、GPU利用率和GPU内存使用情况等。
stat_scenerendering¶
stat scenerendering(显示Drawcall)¶
在RflySim3D中显示Draw Calls(绘制调用)。通过使用该命令,可以实时监测RflySim3D中场景渲染的性能表现以及其他相关信息。
| 参数 | 解释 |
|---|---|
| 无参数 | 该命令只用于显示场景渲染的统计信息,不需要额外的参数进行指定。 |
操作示例
stat scenerendering
上述示例中,启用场景渲染的统计信息显示。RflySim3D中将显示包括Draw Calls(绘制调用)、渲染帧数、三角面数、渲染时间、物体数量、光照计算和阴影计算等统计数据。
stat_unit¶
stat unit(显示各类消耗)¶
在RflySim3D中显示性能统计信息。通过使用该命令,可以实时监测各个系统的性能表现,如 CPU、GPU 和渲染时间等。
| 参数 | 解释 |
|---|---|
| 无参数 | 该命令只用于显示性能统计信息,不需要额外的参数进行指定 |
操作示例
stat unit
上述示例中,启用性能统计信息显示。RflySim3D中将显示 CPU、GPU 和渲染时间等性能数据。
t.Maxfps¶
t.Maxfps(限制帧率)¶
通过设置最大帧率,可以限控制仿真程序的性能表现。
| 参数 | 解释 |
|---|---|
| Maxfps | 最大帧率 |
操作示例
t.Maxfps 60 上述示例中,将最大帧率设置为 60 帧。
t.MaxFPS 30 上述示例中,将最大帧率设置为 30 帧。